HashMap遍历方法
HashMap
是Java中非常常用的集合类,用于存储键值对映射。遍历HashMap
的方法有多种,每种方法有其特定的用途和效率。以下是几种常用的遍历方法:
1. 使用 entrySet
遍历
这是最常用和高效的方法,因为它直接访问键值对的映射关系。
import java.util.HashMap;
import java.util.Map;
public class HashMapExample {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
}
}
2. 使用 keySet
遍历
这种方法只遍历键,适用于只需要键的情况。获取值时需要额外调用 get
方法。
for (String key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key: " + key + ", Value: " + value);
}
3. 使用 values
遍历
这种方法只遍历值,适用于只需要值的情况。
for (Integer value : map.values()) {
System.out.println("Value: " + value);
}
4. 使用 forEach
方法和 BiConsumer
从Java 8开始,HashMap
支持使用 forEach
方法来遍历,这种方法简洁明了。
map.forEach((key, value) -> {
System.out.println("Key: " + key + ", Value: " + value);
});
5. 使用 Iterator
使用迭代器遍历entrySet
,这种方法允许在遍历过程中安全地删除元素。
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
// 可以在遍历时安全地删除元素
if (key.equals("banana")) {
iterator.remove();
}
}
选择合适的遍历方法
- 如果需要同时访问键和值,推荐使用
entrySet
或forEach
方法。 - 如果只需要键,可以使用
keySet
。 - 如果只需要值,可以使用
values
。 - 如果需要在遍历过程中删除元素,推荐使用
Iterator
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)