原文: https://javatutorial.net/java-iterate-hashmap-example

本示例说明如何在 Java 中遍历HashMap

在 Java 中遍历集合或数据集是一项非常常见的任务。 您可以使用它来打印或处理数据。 以下示例显示了有关如何遍历HashMap的三种不同方法。 根据您的 Java 版本,您可以选择其中之一。

使用for遍历HashMap

这是建议的方法。 它使您可以完全控制地图中的键和值。 使用这种方法,您实际上遍历了映射的EntrySet,并获得了循环内每个条目的键和值。

每个版本在 Java 版本 1.5 中均可用

  1. import java.util.HashMap;
  2. import java.util.Map;
  3. public class IterateHashMap {
  4. public static void main(String[] args) {
  5. Map<String, String> map = new HashMap<String, String>();
  6. map.put("key1", "value1");
  7. map.put("key2", "value2");
  8. for (Map.Entry<String, String> entry : map.entrySet()) {
  9. System.out.println(entry.getKey() + " = " + entry.getValue());
  10. }
  11. }
  12. }

在 Java 8 中使用 Lambda 表达式遍历HashMap

Java 8+ 版本中提供了这种方法。

  1. import java.util.HashMap;
  2. import java.util.Map;
  3. public class IterateHashMap {
  4. public static void main(String[] args) {
  5. Map<String, String> map = new HashMap<String, String>();
  6. map.put("key1", "value1");
  7. map.put("key2", "value2");
  8. map.forEach((key,value) -> System.out.println(key + " = " + value));
  9. }
  10. }

使用Iterator遍历HashMap

此方法使用java.util.Iterator浏览HashMap。 这是 Java 1.4 和更早版本中的默认方法。 尽管下面的示例使用泛型,所以您需要 Java 1.5+ 才能执行它

  1. import java.util.HashMap;
  2. import java.util.Iterator;
  3. import java.util.Map;
  4. import java.util.Map.Entry;
  5. public class IterateHashMap {
  6. public static void main(String[] args) {
  7. Map<String, String> map = new HashMap<String, String>();
  8. map.put("key1", "value1");
  9. map.put("key2", "value2");
  10. Iterator<Entry<String, String>> it = map.entrySet().iterator();
  11. while (it.hasNext()) {
  12. Map.Entry<String, String> pair = (Map.Entry<String, String>) it.next();
  13. System.out.println(pair.getKey() + " = " + pair.getValue());
  14. }
  15. }
  16. }