fork(1) download
  1. import com.google.common.collect.Table;
  2. import com.google.common.collect.HashBasedTable;
  3. import java.io.Serializable;
  4.  
  5. class SerializableTable<T> implements Serializable {
  6. private static final long serialVersionUID = 1L;
  7. private final Table<Integer, Integer, T> tableData;
  8.  
  9. public SerializableTable(Table<Integer, Integer, T> tableData) {
  10. this.tableData = tableData;
  11. }
  12.  
  13. public Table<Integer, Integer, T> getTableData() {
  14. return tableData;
  15. }
  16.  
  17. public static void main(String[] args) {
  18. // Create a sample Guava Table
  19. Table<Integer, Integer, String> guavaTable = HashBasedTable.create();
  20. guavaTable.put(1, 1, "Value1");
  21. guavaTable.put(1, 2, "Value2");
  22. guavaTable.put(2, 1, "Value3");
  23.  
  24. // Wrap the Guava Table with SerializableTable
  25. SerializableTable<String> serializableTable = new SerializableTable<>(guavaTable);
  26.  
  27. // Serialize SerializableTable to a byte array (or any other stream)
  28. // Deserialization can be done by reading from this byte array and converting it back to SerializableTable
  29.  
  30. // To demonstrate, here's how you would access the wrapped Table after deserialization
  31. Table<Integer, Integer, String> deserializedTable = serializableTable.getTableData();
  32. System.out.println(deserializedTable);
  33. }
  34. }
  35.  
Success #stdin #stdout 0.16s 57708KB
stdin
Standard input is empty
stdout
{1={1=Value1, 2=Value2}, 2={1=Value3}}