使用entrySet()可同时遍历键和值,适合需键值对的场景;2. keySet()仅遍历键;3. values()仅遍历值;4. Iterator可在遍历时安全删除元素;5. forEach()结合Lambda更简洁,适用于Java 8+。选择依据需求而定。

在Java中遍历Map的键和值有多种方式,常用的方法取决于你的具体需求,比如只需要键、只需要值,还是需要同时获取键和值。以下是几种常见的遍历方式:
通过 entrySet() 获取Map中所有的键值对,然后使用增强for循环或迭代器遍历。
示例代码:
Map<String, Integer> map = new HashMap<>();
map.put("Alice", 25);
map.put("Bob", 30);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
它返回Map中所有键的Set视图,可以用于遍历或判断某个键是否存在。
示例代码:
for (String key : map.keySet()) {
System.out.println("Key: " + key);
}
它返回Map中所有值的Collection视图。
立即学习“Java免费学习笔记(深入)”;
示例代码:
for (Integer value : map.values()) {
System.out.println("Value: " + value);
}
你可以通过 entrySet().iterator() 获得迭代器。
示例代码:
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
// 可以安全调用 iterator.remove()
// iterator.remove();
}
利用Map接口提供的 forEach() 方法配合Lambda表达式。
示例代码:
map.forEach((key, value) ->
System.out.println("Key: " + key + ", Value: " + value));
以上就是在Java中如何遍历Map的键和值的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号