java集合中的entryset vs keyset

时间:2017-06-07 08:26:23

标签: java collections

哪个更适合表现 Java Collection中的 entryset()OR keyset()

(I)在每个循环中使用enrtySet()

for (Map.Entry<String,Integer> entry : testMap.entrySet()) {
  entry.getKey();
  entry.getValue();`enter code here`
}

(II)在每个循环中使用keySet()

for (String key : testMap.keySet()) {
  testMap.get(key);`enter code here`
}

1 个答案:

答案 0 :(得分:5)

这实际上取决于您的要求。这些集合只代表三个不同的用例:如果你的“迭代”代码

就是这样。含义:当您只想打印地图的时,没有必要处理迭代键,然后获取值。例如。

如果您需要键+值,我建议使用清晰度来使用entrySet()。在遇到实际问题之前,不要担心性能问题。然后开始基准测试您的代码,以了解会发生什么。