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