首先,在老版本java中这是惟一遍历map的方式。另一个好处是,你可以在遍历时调用iterator.remove()来删除entries,另两个方法则不能。根据javadoc的说明,如果在for-each遍历中尝试使用此方法,结果是不可预测的。 从性能方面看,该方法类同于for-each遍历(即方法二)的性能。 方式四 通过键找值遍历(效率低) 总之Map...
Map.Entry<Integer, String> entry = it.next();if(entry.getKey() ==2) it.remove();//使用迭代器的remove()方法删除元素} System.out.println(map); }publicvoidremoveBymap(){//错误的删除方式HashMap<Integer, String> map =newHashMap<Integer, String>(); map.put(1,"one"); map.put(2,"...
在上面的代码中,我们首先创建了一个HashMap,并向其中添加了三对键值对。然后使用Iterator遍历Map的entrySet,当值为2时删除对应的键值对。最后输出删除元素后的Map。 安全删除元素的建议 在循环中删除Map元素时,除了使用Iterator外,还有一些其他的方法可以避免ConcurrentModificationException异常。比如,可以先将需要删除的键...