遍历 Map 类集合 的key和value,JDK8版本之后应使用使用 Map.foreach 方法。
1.原因:
keySet 其实是遍历了 2 次,一次是转为 Iterator 对象,另一次是从 hashMap 中取出key 所对应的 value。而entrySet 只是遍历了一次就把 key 和 value 都放到了 entry 中,效率更高。
2.代码:
@Test
public void test1(){
Map<String,String> map = new HashMap<>(3);
map.put("1","Tom");
map.put("2","Jerry");
map.put("3","Andi");
/**
* 第一种 写法
*/
map.forEach(new BiConsumer() {
@Override
public void accept(Object key, Object value) {
System.out.println(key + ":" + value);
}
});
System.out.println("=======我是分界线=======");
/**
* 第二种写法
*/
map.forEach((key, value) -> {
System.out.println(key + ":" + value);
});
}
3.显示结果:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/694cb4377588743146b6b6dd22125ccd.png)