我试图简单地在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个不同键的输出,计数似乎是映射中总插入次数的总和。
我测试了您的代码并正常工作。我添加了一个小演示,它用另一种方式打印地图中的所有数据:
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); }