遍历Java中Map.Entry键值对的常用方式包括:使用entrySet()配合增强for循环,性能好且代码清晰;通过Iterator遍历entrySet,可在遍历时安全删除元素;采用Java 8的forEach结合Lambda表达式,语法简洁可读性强。选择方式需根据是否需要删除元素、Java版本及代码风格决定。

遍历 Java 中的 Map.Entry 键值对,通常是在遍历 Map 集合时获取其内部的条目(Entry)。Map.Entry 是 Map 的内部接口,代表一个键值对。以下是几种常用方式来遍历 Map.Entry 中的键值对。
使用 entrySet() 配合增强 for 循环
这是最常见和推荐的方式。通过 Map 的 entrySet() 方法获取包含 Map.Entry 对象的 Set 集合,然后遍历。
Mapmap = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); for (Map.Entry entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); System.out.println("Key: " + key + ", Value: " + value); }
这种方式性能好,代码清晰,适合大多数场景。
使用 Iterator 遍历 entrySet
如果需要在遍历过程中安全地删除元素,可以使用 Iterator。
立即学习“Java免费学习笔记(深入)”;
Iterator> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry entry = iterator.next(); System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()); // 示例:删除 value 为 1 的条目 if (entry.getValue() == 1) { iterator.remove(); } }
Iterator 支持在遍历时调用 remove() 方法,避免并发修改异常。
使用 forEach() 和 Lambda 表达式(Java 8+)
Java 8 引入了 forEach 方法,结合 Lambda 更简洁。
map.forEach((key, value) -> {
System.out.println("Key: " + key + ", Value: " + value);
});
语法更简洁,适合简单操作,可读性强。
基本上就这些方法。选择哪种方式取决于是否需要删除元素、Java 版本以及代码风格偏好。日常开发中,增强 for 循环和 Lambda 方式最为常用。










