Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java 程序遍历HashMap的方法

    Java 实例大全

在此示例中,我们将学习迭代Java HashMap的键,值 和 键/值映射。

要理解此示例,您应该了解以下Java编程主题:

在Java HashMap中,我们可以遍历其keysvalueskey / value映射。

示例1:使用forEach循环遍历HashMap

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

class Main {
  public static void main(String[] args) {

    //创建一个HashMap
    HashMap<String, String> languages = new HashMap<>();
    languages.put("Java", "Enterprise");
    languages.put("Python", "ML/AI");
    languages.put("JavaScript", "Frontend");
    System.out.println("HashMap: " + languages);

    //遍历键/值映射
    System.out.print("Entries: ");
    for(Entry<String, String> entry: languages.entrySet()) {
      System.out.print(entry);
      System.out.print(", ");
    }

    //遍历键
    System.out.print("\nKeys: ");
    for(String key: languages.keySet()) {
      System.out.print(key);
      System.out.print(", ");
    }

    // 遍历值
    System.out.print("\nValues: ");
    for(String value: languages.values()) {
      System.out.print(value);
      System.out.print(", ");
    }
  }
}

输出结果

HashMap: {Java=Enterprise, JavaScript=Frontend, Python=ML/AI}
Entries: Java=Enterprise, JavaScript=Frontend, Python=ML/AI, 
Keys: Java, JavaScript, Python,
Values: Enterprise, Frontend, ML/AI,

在上面的示例中,我们创建了一个名为 languages 的哈希映射。在这里,我们使用forEach循环来遍历哈希映射的元素。

注意,我们独立地遍历keyvalueskey / value映射。

注意:我们已经使用了Map.Entry该类。嵌套类返回map视图。

示例2:使用iterator()遍历HashMap

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;

class Main {
  public static void main(String[] args) {
    //创建一个HashMap
    HashMap<String, String> languages = new HashMap<>();
    languages.put("Java", "Enterprise");
    languages.put("Python", "ML/AI");
    languages.put("JavaScript", "Frontend");
    System.out.println("HashMap: " + languages);

    //创建一个 Iterator 对象
    Iterator<Entry<String, String>> iterate1 = languages.entrySet().iterator();

    //遍历键/值映射
    System.out.print("Entries: ");
    while(iterate1.hasNext()) {
      System.out.print(iterate1.next());
      System.out.print(", ");
    }

    //遍历键
    Iterator<String> iterate2 = languages.keySet().iterator();
    System.out.print("\nKeys: ");
    while(iterate2.hasNext()) {
      System.out.print(iterate2.next());
      System.out.print(", ");
    }

    //遍历值
    Iterator<String> iterate3 = languages.values().iterator();
    System.out.print("\nValues: ");
    while(iterate3.hasNext()) {
      System.out.print(iterate3.next());
      System.out.print(", ");
    }
  }
}

输出结果

HashMap: {Java=Enterprise, JavaScript=Frontend, Python=ML/AI}
Entries: Java=Enterprise, JavaScript=Frontend, Python=ML/AI, 
Keys: Java, JavaScript, Python,
Values: Enterprise, Frontend, ML/AI,

在上面的示例中,我们遍历哈希映射的键,值和键/值映射。我们使用了iterator()方法来迭代哈希映射。这里,

  • hasNext() - 如果hashmap中有下一个元素,则返回true。

  • next() - 返回哈希映射的下一个元素。

注意:我们还可以使用HashMap forEach()方法来迭代哈希映射。

Java 实例大全