在 Java 中,可以使用不同的方式来遍历 Map
。这里我将介绍几种常见的遍历 Map
的方式,包括使用迭代器、for-each 循环、Java 8 的 Stream 以及一些第三方库(如 Guava)。
使用迭代器是一种传统的方式来遍历 Map,它适用于所有 Java 版本。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class MapIterationExample {
public static void main(String[] args) {
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 5 开始,可以使用 for-each 循环遍历 Map 的键或值。
import java.util.HashMap;
import java.util.Map;
public class MapIterationExample {
public static void main(String[] args) {
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);
}
}
}
在 Java 8 及更高版本中,可以使用 Stream API 来遍历 Map 的键、值或键值对。
import java.util.HashMap;
import java.util.Map;
public class MapIterationExample {
public static void main(String[] args) {
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);
});
// 遍历键
map.keySet().forEach(key -> {
System.out.println("Key: " + key);
});
// 遍历值
map.values().forEach(value -> {
System.out.println("Value: " + value);
});
}
}
如果你使用 Guava 库,可以使用 Maps
类来简化 Map 的遍历。
Maven 依赖坐标:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
</dependency>
Gradle 依赖坐标:
implementation 'com.google.guava:guava:30.1-jre'
使用 Guava 来遍历 Map:
import com.google.common.collect.Maps;
import java.util.Map;
public class MapIterationExample {
public static void main(String[] args) {
Map<String, Integer> map = Maps.newHashMap();
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);
}
}
}
这些是一些常见的遍历 Map
的方式,你可以根据项目的需求选择适合的方式。在 Java 8 及更高版本中,使用 Stream API 可以提供更多的便利和功能。如果需要使用第三方库来处理 Map,Guava 是一个常见的选择。