一尘不染

在Java ConcurrentHashMap中打印所有键/值对

java

我试图简单地在ConcurrentHashMap中打印所有键/值对。

我在网上发现了我认为可以做到的代码,但似乎正在获取有关存储桶/哈希码的信息。老实说,实际上输出的结果很奇怪,可能是我的程序不正确,但是我首先要确保这部分是我要使用的部分。

for (Entry<StringBuilder, Integer> entry : wordCountMap.entrySet()) {
    String key = entry.getKey().toString();
    Integer value = entry.getValue();
    System.out.println("key, " + key + " value " + value);
}

这给出了大约10个不同键的输出,计数似乎是映射中总插入次数的总和。


阅读 437

收藏
2020-12-03

共1个答案

一尘不染

我测试了您的代码并正常工作。我添加了一个小演示,它用另一种方式打印地图中的所有数据:

ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<String, Integer>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);

for (String key : map.keySet()) {
    System.out.println(key + " " + map.get(key));
}

for (Map.Entry<String, Integer> entry : map.entrySet()) {
    String key = entry.getKey().toString();
    Integer value = entry.getValue();
    System.out.println("key, " + key + " value " + value);
}
2020-12-03