Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java遍历map集合


在 Java 中,遍历 Map 集合有多种实现方式,下面我将介绍几种常见的方式,包括基本的遍历方式以及使用第三方库的方式。

使用 for-each 循环遍历 Map 的键值对(最基本的方式)

这是最常见的方式,适用于所有版本的 Java。不需要任何第三方库。

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

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

使用 Iterator 遍历 Map 的键值对

这种方式适用于所有版本的 Java,同样不需要第三方库。

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

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

使用 Java 8 的 Stream API 遍历 Map 的键值对

Java 8 引入了 Stream API,可以更加简洁地遍历 Map。不需要第三方库。

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

map.forEach((key, value) -> {
    System.out.println("Key: " + key + ", Value: " + value);
});

使用第三方库 Apache Commons Collections

如果你使用 Apache Commons Collections 库,你可以使用它提供的 MapUtils 类来遍历 Map。需要添加以下依赖:

Maven 依赖坐标:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.4</version>
</dependency>

Gradle 依赖坐标:

implementation 'org.apache.commons:commons-collections4:4.4'

使用示例:

import org.apache.commons.collections4.MapUtils;

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

MapUtils.verbosePrint(System.out, "Map Contents", map);

以上是一些常见的遍历 Map 集合的方式,你可以根据项目的需求和依赖情况选择合适的方式。基本的 for-each 循环和 Iterator 方式适用于几乎所有情况,而 Java 8 的 Stream API 可以提供更加流畅的代码。如果需要更多的功能,可以考虑使用第三方库,如 Apache Commons Collections。