import com.google.common.collect.Table;
import com.google.common.collect.HashBasedTable;
import java.io.Serializable;
private static final long serialVersionUID = 1L;
this.tableData = tableData;
}
return tableData;
}
public static void main
(String[] args
) { // Create a sample Guava Table
guavaTable.put(1, 1, "Value1");
guavaTable.put(1, 2, "Value2");
guavaTable.put(2, 1, "Value3");
// Wrap the Guava Table with SerializableTable
SerializableTable<String> serializableTable = new SerializableTable<>(guavaTable);
// Serialize SerializableTable to a byte array (or any other stream)
// Deserialization can be done by reading from this byte array and converting it back to SerializableTable
// To demonstrate, here's how you would access the wrapped Table after deserialization
Table
<Integer,
Integer, String
> deserializedTable
= serializableTable.
getTableData(); System.
out.
println(deserializedTable
); }
}
aW1wb3J0IGNvbS5nb29nbGUuY29tbW9uLmNvbGxlY3QuVGFibGU7CmltcG9ydCBjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0Lkhhc2hCYXNlZFRhYmxlOwppbXBvcnQgamF2YS5pby5TZXJpYWxpemFibGU7CgogY2xhc3MgU2VyaWFsaXphYmxlVGFibGU8VD4gaW1wbGVtZW50cyBTZXJpYWxpemFibGUgewogICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgbG9uZyBzZXJpYWxWZXJzaW9uVUlEID0gMUw7CiAgICBwcml2YXRlIGZpbmFsIFRhYmxlPEludGVnZXIsIEludGVnZXIsIFQ+IHRhYmxlRGF0YTsKCiAgICBwdWJsaWMgU2VyaWFsaXphYmxlVGFibGUoVGFibGU8SW50ZWdlciwgSW50ZWdlciwgVD4gdGFibGVEYXRhKSB7CiAgICAgICAgdGhpcy50YWJsZURhdGEgPSB0YWJsZURhdGE7CiAgICB9CgogICAgcHVibGljIFRhYmxlPEludGVnZXIsIEludGVnZXIsIFQ+IGdldFRhYmxlRGF0YSgpIHsKICAgICAgICByZXR1cm4gdGFibGVEYXRhOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICAvLyBDcmVhdGUgYSBzYW1wbGUgR3VhdmEgVGFibGUKICAgICAgICBUYWJsZTxJbnRlZ2VyLCBJbnRlZ2VyLCBTdHJpbmc+IGd1YXZhVGFibGUgPSBIYXNoQmFzZWRUYWJsZS5jcmVhdGUoKTsKICAgICAgICBndWF2YVRhYmxlLnB1dCgxLCAxLCAiVmFsdWUxIik7CiAgICAgICAgZ3VhdmFUYWJsZS5wdXQoMSwgMiwgIlZhbHVlMiIpOwogICAgICAgIGd1YXZhVGFibGUucHV0KDIsIDEsICJWYWx1ZTMiKTsKCiAgICAgICAgLy8gV3JhcCB0aGUgR3VhdmEgVGFibGUgd2l0aCBTZXJpYWxpemFibGVUYWJsZQogICAgICAgIFNlcmlhbGl6YWJsZVRhYmxlPFN0cmluZz4gc2VyaWFsaXphYmxlVGFibGUgPSBuZXcgU2VyaWFsaXphYmxlVGFibGU8PihndWF2YVRhYmxlKTsKCiAgICAgICAgLy8gU2VyaWFsaXplIFNlcmlhbGl6YWJsZVRhYmxlIHRvIGEgYnl0ZSBhcnJheSAob3IgYW55IG90aGVyIHN0cmVhbSkKICAgICAgICAvLyBEZXNlcmlhbGl6YXRpb24gY2FuIGJlIGRvbmUgYnkgcmVhZGluZyBmcm9tIHRoaXMgYnl0ZSBhcnJheSBhbmQgY29udmVydGluZyBpdCBiYWNrIHRvIFNlcmlhbGl6YWJsZVRhYmxlCgogICAgICAgIC8vIFRvIGRlbW9uc3RyYXRlLCBoZXJlJ3MgaG93IHlvdSB3b3VsZCBhY2Nlc3MgdGhlIHdyYXBwZWQgVGFibGUgYWZ0ZXIgZGVzZXJpYWxpemF0aW9uCiAgICAgICAgVGFibGU8SW50ZWdlciwgSW50ZWdlciwgU3RyaW5nPiBkZXNlcmlhbGl6ZWRUYWJsZSA9IHNlcmlhbGl6YWJsZVRhYmxlLmdldFRhYmxlRGF0YSgpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihkZXNlcmlhbGl6ZWRUYWJsZSk7CiAgICB9Cn0K