我需要存储以表格形式提供的数据,我可以在 Java 中使用什么来做到这一点?
形成列和行的键是 Object,所以我需要一个可以表示为三元组的结构: <Object Row,Object Col, Object Val>
其中每个 Row,Col 只有一个 val,而对于所有 Row X Col,都有一个值。
或者我应该使用一个简单的二维数组并将索引转换为相应的对象?
我需要存储以表格形式提供的数据,我可以在 Java 中使用什么来做到这一点?
形成列和行的键是 Object,所以我需要一个可以表示为三元组的结构: <Object Row,Object Col, Object Val>
其中每个 Row,Col 只有一个 val,而对于所有 Row X Col,都有一个值。
或者我应该使用一个简单的二维数组并将索引转换为相应的对象?
Guava 提供了一个Table
可能是您需要的集合。有关更多信息,请参阅Guava 用户指南。
示例用法:
Table<Integer, Integer, Object> myTable = HashBasedTable.create();
myTable.put(1, 2, "foo"); // put an object in row 1, column 2.
如果不想使用 Guava,就使用二维数组即可,如下图:
Object[][] myTable2 = new Object[5][5];
myTable2[0][1] = "foo";
如果 Guava 不是一个选项,我会使用 a Map<Coordinate, Val>
,其中 Coordinate 是一个自定义对象,其中包含您的行和列对象,并正确实现 equals 和 hashCode 。
HashMap<Object, ArrayList> myTable = new HashMap<Object, ArrayList>();