您当前的位置:首页 > 文章 > Java遍历HashMap的6种常见方式

Java遍历HashMap的6种常见方式

作者:程序员猫哥 时间:2025-05-08 阅读数:17 人阅读分享到:

在 Java 中,有多种方式可以遍历 HashMap,下面为你详细介绍几种常见的遍历方法。

1,使用 keySet() 遍历键,再通过键获取值

  • 创建一个 HashMap 对象,并向其中添加一些键值对。
  • 使用 map.keySet() 方法获取 HashMap 中所有键的集合。
  • 通过 for-each 循环遍历这个键的集合。
  • 在循环体中,使用 map.get(key) 方法根据当前键获取对应的值,并将键和值打印输出。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
packagecom.maoge;
 
importjava.util.HashMap;
importjava.util.Map;
 
publicclassTest03 {
    publicstaticvoidmain(String[] args) {
 
        // 创建一个 HashMap 并添加元素
        Map<String, String> map =newHashMap<>();
        map.put("张飞","男");
        map.put("孙尚香","女");
        map.put("关羽","男");
        map.put("貂蝉","女");
 
        // 遍历键集合
        for(String key : map.keySet()) {
            // 根据键获取值
            String value = map.get(key);
            System.out.println("Key: "+ key +", Value: "+ value);
        }
    }
}

2,使用 entrySet() 遍历键值对

  • 先创建一个 HashMap 对象并添加键值对。
  • 使用 map.entrySet() 方法获取包含所有键值对的集合。
  • 通过 for-each 循环遍历这个集合,每次循环得到一个 Map.Entry 对象。
  • 在循环体中,使用 entry.getKey() 方法获取键,使用 entry.getValue() 方法获取值,并将它们打印输出。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
packagecom.maoge;
 
importjava.util.HashMap;
importjava.util.Map;
 
publicclassTest03 {
    publicstaticvoidmain(String[] args) {
 
        // 创建一个 HashMap 并添加元素
        Map<String, String> map =newHashMap<>();
        map.put("张飞","男");
        map.put("孙尚香","女");
        map.put("关羽","男");
        map.put("貂蝉","女");
 
        // 遍历键值对集合
        for(Map.Entry<String, String> entry : map.entrySet()) {
            // 获取键
            String key = entry.getKey();
            // 获取值
            String value = entry.getValue();
            System.out.println("Key: "+ key +", Value: "+ value);
        }
    }
}

3,使用 forEach() 方法(Java 8 及以上)

  • 创建 HashMap 并添加元素。
  • 调用 map.forEach() 方法,传入一个 Lambda 表达式。Lambda 表达式的参数 key 和 value
    分别代表当前遍历到的键和值。
  • 在 Lambda 表达式的方法体中,将键和值打印输出。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
packagecom.maoge;
 
importjava.util.HashMap;
importjava.util.Map;
 
publicclassTest03 {
    publicstaticvoidmain(String[] args) {
 
        // 创建一个 HashMap 并添加元素
        Map<String, String> map =newHashMap<>();
        map.put("张飞","男");
        map.put("孙尚香","女");
        map.put("关羽","男");
        map.put("貂蝉","女");
 
        // 使用 forEach 方法遍历
        map.forEach((key, value) -> {
            System.out.println("Key: "+ key +", Value: "+ value);
        });
    }
}

4,使用迭代器(Iterator)遍历

  • 创建 HashMap 并添加元素。
  • 使用 map.entrySet().iterator() 方法获取键值对集合的迭代器。
  • 使用 while 循环结合 iterator.hasNext() 方法判断是否还有下一个元素。
  • 在循环体中,使用 iterator.next() 方法获取下一个 Map.Entry 对象,然后获取键和值并打印输出。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
packagecom.maoge;
 
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.Map;
 
publicclassTest03 {
    publicstaticvoidmain(String[] args) {
 
        // 创建一个 HashMap 并添加元素
        Map<String, String> map =newHashMap<>();
        map.put("张飞","男");
        map.put("孙尚香","女");
        map.put("关羽","男");
        map.put("貂蝉","女");
 
        // 获取键值对集合的迭代器
        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
 
        // 使用迭代器遍历
        while(iterator.hasNext()) {
            Map.Entry<String, String> entry = iterator.next();
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println("Key: "+ key +", Value: "+ value);
        }
    }
}

5,遍历所有键

注意只是遍历键值,即key值,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
packagecom.maoge;
 
importjava.util.HashMap;
importjava.util.Map;
 
publicclassTest03 {
    publicstaticvoidmain(String[] args) {
 
        // 创建一个 HashMap 并添加元素
        Map<String, String> map =newHashMap<>();
        map.put("张飞","男");
        map.put("孙尚香","女");
        map.put("关羽","男");
        map.put("貂蝉","女");
 
        // 遍历所有键
        for(String key : map.keySet()) {
            System.out.println("key : "+ key);
        }
    }
}

6,遍历所有值

注意只是遍历键值对的值,即value,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
packagecom.maoge;
 
importjava.util.HashMap;
importjava.util.Map;
 
publicclassTest03 {
    publicstaticvoidmain(String[] args) {
 
        // 创建一个 HashMap 并添加元素
        Map<String, String> map =newHashMap<>();
        map.put("张飞","男");
        map.put("孙尚香","女");
        map.put("关羽","男");
        map.put("貂蝉","女");
 
        // 遍历所有键
        for(String key : map.values()) {
            System.out.println("value: "+ key);
        }
    }
}

来源:https://www.jb51.net/program/341085758.htm


本站大部分文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了您的权益请来信告知我们删除。邮箱:1451803763@qq.com