Ответ 1
Im не пользователь Guava, так что это может быть чрезмерным (если это правда, тогда будет рад любой информации), но вы можете использовать table.rowMap()
для получения Map<String, Map<String, Integer>>
, который будет представлять данные в таблице в форме {A={B=1, C=2}, B={D=3}}
. Затем просто перебираем по этой карте:
Map<String, Map<String, Integer>> map = table.rowMap();
for (String row : map.keySet()) {
Map<String, Integer> tmp = map.get(row);
for (Map.Entry<String, Integer> pair : tmp.entrySet()) {
System.out.println(row+" "+pair.getKey()+" "+pair.getValue());
}
}
или
for (Map.Entry<String, Map<String,Integer>> outer : map.entrySet()) {
for (Map.Entry<String, Integer> inner : outer.getValue().entrySet()) {
System.out.println(outer.getKey()+" "+inner.getKey()+" "+inner.getValue());
}
}
или даже лучше, используя com.google.common.collect.Table.Cell
for (Cell<String, String, Integer> cell: table.cellSet()){
System.out.println(cell.getRowKey()+" "+cell.getColumnKey()+" "+cell.getValue());
}