I create and populate a Guava Table using the following code:
Table table = HashBasedTable.create();
table.put(\"A\", \"B\", 1
Im not Guava user so this may be overkill (if it is true then will be glad for any info) but you can use table.rowMap()
to get Map
which will represents data in table in form {A={B=1, C=2}, B={D=3}}
. Then just iterate over this map like:
Map> map = table.rowMap();
for (String row : map.keySet()) {
Map tmp = map.get(row);
for (Map.Entry pair : tmp.entrySet()) {
System.out.println(row+" "+pair.getKey()+" "+pair.getValue());
}
}
or
for (Map.Entry> outer : map.entrySet()) {
for (Map.Entry inner : outer.getValue().entrySet()) {
System.out.println(outer.getKey()+" "+inner.getKey()+" "+inner.getValue());
}
}
or even better using com.google.common.collect.Table.Cell
for (Cell cell: table.cellSet()){
System.out.println(cell.getRowKey()+" "+cell.getColumnKey()+" "+cell.getValue());
}