Java教程

Java 程序来迭代 HashMap

迭代 HashMap 的 Java 程序

在这个例子中,我们将学习迭代 Java HashMap 的键、值和键/值映射。
要理解此示例,您应该了解以下Java 编程主题:
Java HashMap Java for-each 循环 Java 迭代器接口
在 Java HashMap 中,我们可以遍历其键、值和键/值映射。

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

import java.util.HashMap;
import java.util.Map.Entry;
class Main {
  public static void main(String[] args) {
    // Creating a 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);
    // iterating through key/value mappings
    System.out.print("Entries: ");
    for(Entry<String, String> entry: languages.entrySet()) {
      System.out.print(entry);
      System.out.print(", ");
    }
    // iterating through keys
    System.out.print("\nKeys: ");
    for(String key: languages.keySet()) {
      System.out.print(key);
      System.out.print(", ");
    }
    // iterating through values
    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 的 hashmap。在这里,我们使用了 forEach 循环来遍历 hashmap 的元素。
请注意,我们正在独立迭代键、值和键/值映射。
languages.entrySet()-返回所有条目的集合视图 languages.keySet()-返回所有键的集合视图 languages.values()-返回所有值的集合视图
注意: 我们已经使用了 Map.Entry 类。它是返回地图视图的嵌套类。

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

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
class Main {
  public static void main(String[] args) {
    // create a 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);
    // create an object of Iterator
    Iterator<Entry<String, String>> iterate1 = languages.entrySet().iterator();
    // iterate through key/value mappings
    System.out.print("Entries: ");
    while(iterate1.hasNext()) {
      System.out.print(iterate1.next());
      System.out.print(", ");
    }
    // iterate through keys
    Iterator<String> iterate2 = languages.keySet().iterator();
    System.out.print("\nKeys: ");
    while(iterate2.hasNext()) {
      System.out.print(iterate2.next());
      System.out.print(", ");
    }
    // iterate through values
    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()-如果哈希图中有下一个元素,则返回 true next()-返回哈希图的下一个元素
注意: 我们也可以使用 HashMap forEach() 方法来迭代 hashmap。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4