我需要存储作为表格来的数据,我可以在Java中使用什么来完成它?我可以在Java中使用哪种数据结构?
形成列和行的键是Object,所以我需要一个可以表示为三元组的结构:<Object Row,Object Col, Object Val>
其中对于每个Row,Col只有一个val,对于所有的行X Col,那里是一种价值。
或者我应该使用一个简单的二维数组并将索引转换为它们相应的对象?
我需要存储作为表格来的数据,我可以在Java中使用什么来完成它?我可以在Java中使用哪种数据结构?
形成列和行的键是Object,所以我需要一个可以表示为三元组的结构:<Object Row,Object Col, Object Val>
其中对于每个Row,Col只有一个val,对于所有的行X Col,那里是一种价值。
或者我应该使用一个简单的二维数组并将索引转换为它们相应的对象?
HashMap<Object, ArrayList> myTable = new HashMap<Object, ArrayList>();
番石榴提供了一个Table
集合,这可能是你所需要的。有关更多信息,请参阅Guava User Guide。
用法示例:
Table<Integer, Integer, Object> myTable = HashBasedTable.create();
myTable.put(1, 2, "foo"); // put an object in row 1, column 2.
如果你不想使用番石榴,只需使用一个二维数组,如下图所示:
Object[][] myTable2 = new Object[5][5];
myTable2[0][1] = "foo";
如果番石榴是不是一种选择,我将使用Map<Coordinate, Val>
,其中Coordinate是一个包含行和列对象的自定义对象,并正确实现equals和hashCode。
抱歉,我劫持了,请问为什么(哈希)地图? +1 – mKorbel
因为这就是OP想要的,如果我理解正确:对每个
我最喜欢这个答案 – NimChimpsky
是的,你可以使用Object []的二维数组或ArrayList。 – Seshagiri