在 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,
在上面的例子中,我们遍历哈希映射的键、值和键/值映射。我们使用了
hasNext()-如果哈希图中有下一个元素,则返回 iterator()
方法来迭代哈希图。在这里,
true
next()-返回哈希图的下一个元素
注意: 我们也可以使用 HashMap forEach() 方法来迭代 hashmap。