gpt4 book ai didi

java - 在 Google Guava 中打印 HashBasedTable 的所有键和值

转载 作者:太空狗 更新时间:2023-10-29 23:03:55 26 4
gpt4 key购买 nike

我创建并填充了一个 Guava Table使用以下代码:

Table<String, String, Integer> table = HashBasedTable.create();
table.put("A", "B", 1);
table.put("A", "C", 2);
table.put("B", "D", 3);

我想知道如何遍历表并打印出每一行的键和值?因此,所需的输出是:

A B 1
A C 2
B D 3

最佳答案

我不是 Guava 用户,所以这可能有点矫枉过正(如果这是真的,那么我会很高兴提供任何信息)但你可以使用 table.rowMap()得到Map<String, Map<String, Integer>>它将以 {A={B=1, C=2}, B={D=3}} 的形式表示表中的数据.然后像这样迭代这个 map :

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());
}

关于java - 在 Google Guava 中打印 HashBasedTable 的所有键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20302456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com