本示例说明如何在 Java 中遍历HashMap
在 Java 中遍历集合或数据集是一项非常常见的任务。 您可以使用它来打印或处理数据。 以下示例显示了有关如何遍历HashMap
的三种不同方法。 根据您的 Java 版本,您可以选择其中之一。
使用for
遍历HashMap
这是建议的方法。 它使您可以完全控制地图中的键和值。 使用这种方法,您实际上遍历了映射的EntrySet
,并获得了循环内每个条目的键和值。
每个版本在 Java 版本 1.5 中均可用
import java.util.HashMap;
import java.util.Map;
public class IterateHashMap {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
}
}
在 Java 8 中使用 Lambda 表达式遍历HashMap
Java 8+ 版本中提供了这种方法。
import java.util.HashMap;
import java.util.Map;
public class IterateHashMap {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
map.forEach((key,value) -> System.out.println(key + " = " + value));
}
}
使用Iterator
遍历HashMap
此方法使用java.util.Iterator
浏览HashMap
。 这是 Java 1.4 和更早版本中的默认方法。 尽管下面的示例使用泛型,所以您需要 Java 1.5+ 才能执行它
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class IterateHashMap {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
Iterator<Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> pair = (Map.Entry<String, String>) it.next();
System.out.println(pair.getKey() + " = " + pair.getValue());
}
}
}