Java 中 Map 的遍历方式
1.使用 entrySet() + 增强 for 循环
1.适用于需要同时访问键和值的场景,性能较好。
Map<String, Integer> map = new HashMap<>();
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println(key + " : " + value);
}
2.使用 keySet() 遍历键再获取值
通过键遍历后再调用 get(key) 获取值,效率略低。
for (String key : map.keySet()) {
Integer value = map.get(key);
System.out.println(key + " : " + value);
}
3.使用 values() 遍历值
仅需遍历值时使用,忽略键。
for (Integer value : map.values()) {
System.out.println("value = " + value);
}
4.使用 Iterator 迭代器
支持遍历时安全删除元素。
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
System.out.println(entry.getKey() + " : " + entry.getValue());
}
5.使用 Java 8+ Lambda/Stream
简洁优雅,适合现代 Java 版本。
// Lambda 表达式
map.forEach((key, value) -> System.out.println(key + " : " + value));
// Stream API
map.entrySet().stream()
.forEach(entry -> System.out.println(entry.getKey() + " : " + entry.getValue()));
416



被折叠的 条评论
为什么被折叠?



