在此示例中,我们将学习迭代Java HashMap的键,值 和 键/值映射。
要理解此示例,您应该了解以下Java编程主题:
在Java HashMap中,我们可以遍历其keys,values和key / 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循环来遍历哈希映射的元素。
注意,我们独立地遍历key,values和key / value映射。
language.entrySet() - 返回所有项的 set 集合视图
language.keySet() -返回所有键的 set 集合视图
language.values() -返回所有值的 set 集合视图
注意:我们已经使用了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()方法来迭代哈希映射。