java性能优化方案——使用entrySet()

7、使用entrySet()
当我们想遍历一个用键值对形式保存的 Map 时,必须要为下面的代码找到一个很好的理由:
for (K key : map.keySet()) {

V value : map.get(key);

}
更不用说下面的写法:
for (Entry entry : map.entrySet()) {

K key = entry.getKey();
V value = entry.getValue();

}
在我们使用 N.O.P.E. 分支应该慎用map。因为很多看似时间复杂度为 O(1) 的访问操作其实是由一系列的操作组成的。而且访问本身也不是免费的。至少,如果不得不使用map的话,那么要用entrySet() 方法去迭代!这样的话,我们要访问的就仅仅是Map.Entry的实例。
小结
在需要迭代键值对形式的Map时一定要用 entrySet() 方法。

上一篇:java性能优化方案8——使用EnumSet或EnumMap


下一篇:java性能优化方案6——避免递归