Java 中 Map 集合的三种遍历方式小结

  • Post category:Python

下面详细讲解Java中Map集合的三种遍历方式。

1. 什么是Map集合

Map是Java中一个重要的数据结构,用于存储键-值对,其中键是唯一的,值可以重复。在Java中,Map是一个接口,常用的实现类包括HashMap, TreeMap, LinkedHashMap等。

2. 三种遍历方式

(1)entrySet遍历方式

该方式利用Map接口中的entrySet()方法,将Map转化为Set集合,再使用增强for循环遍历Set集合。示例如下:

Map<String, Integer> map = new HashMap<>();
map.put("Java", 1);
map.put("Python", 2);
map.put("C++", 3);

for(Map.Entry<String, Integer> entry: map.entrySet()) {
    System.out.println(entry.getKey() + ":" + entry.getValue());
}

输出结果:

Java:1
Python:2
C++:3

(2)keySet遍历方式

该方式利用Map接口中的keySet()方法,将Map中所有的key转化为Set集合,再使用增强for循环遍历Set集合,通过key获取对应的value。示例如下:

Map<String, Integer> map = new HashMap<>();
map.put("Java", 1);
map.put("Python", 2);
map.put("C++", 3);

for(String key: map.keySet()) {
    System.out.println(key + ":" + map.get(key));
}

输出结果:

Java:1
Python:2
C++:3

(3)values遍历方式

该方式利用Map接口中的values()方法,返回Map中所有的value值构成的Collection集合,再使用增强for循环遍历Collection集合。示例如下:

Map<String, Integer> map = new HashMap<>();
map.put("Java", 1);
map.put("Python", 2);
map.put("C++", 3);

for(Integer value: map.values()) {
    System.out.println(value);
}

输出结果:

1
2
3

3. 总结

以上就是Map集合的三种遍历方式,每种遍历方式都有其优缺点,应根据具体情况选择使用。其中,entrySet方式最为常用,因为效率高、代码简洁。

4. 示例说明

下面通过一个示例来演示三种遍历方式的具体应用。

import java.util.HashMap;
import java.util.Map;

public class MapExample {

    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("lucy", 12);
        map.put("tom", 15);
        map.put("jack", 20);

        // entry set遍历方式
        System.out.println("entry set遍历方式:");
        for(Map.Entry<String, Integer> entry: map.entrySet()) {
            System.out.println(entry.getKey() + ":" + entry.getValue());
        }

        // key set遍历方式
        System.out.println("key set遍历方式:");
        for(String key: map.keySet()) {
            System.out.println(key + ":" + map.get(key));
        }

        // values遍历方式
        System.out.println("values遍历方式:");
        for(Integer value: map.values()) {
            System.out.println(value);
        }
    }

}

输出结果:

entry set遍历方式:
lucy:12
tom:15
jack:20
key set遍历方式:
lucy:12
tom:15
jack:20
values遍历方式:
12
15
20

以上就是关于Java中Map集合的三种遍历方式的完整攻略。