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();
    }
}

选择合适的遍历方法

  • 如果需要同时访问键和值,推荐使用 entrySetforEach 方法。
  • 如果只需要键,可以使用 keySet
  • 如果只需要值,可以使用 values
  • 如果需要在遍历过程中删除元素,推荐使用 Iterator
posted @   xingduo  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示