Java程序遍历HashMap
要理解这个示例,您应该了解以下 Java 编程 主题:
在 Java 的 HashMap 中,我们可以遍历其键、值和键/值映射。
示例 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", "企业级应用");
languages.put("Python", "机器学习/人 工智能");
languages.put("JavaScript", "前端");
System.out.println("HashMap: " + languages);
// 遍历键/值映射
System.out.print("条目: ");
for(Entry<String, String> entry: languages.entrySet()) {
System.out.print(entry);
System.out.print(", ");
}
// 遍历键
System.out.print("\n键: ");
for(String key: languages.keySet()) {
System.out.print(key);
System.out.print(", ");
}
// 遍历值
System.out.print("\n值: ");
for(String value: languages.values()) {
System.out.print(value);
System.out.print(", ");
}
}
}
输出
HashMap: {Java=企业级应用, JavaScript=前端, Python=机器学习/人工智能}
条目: Java=企业级应用, JavaScript=前端, Python=机器学习/人工智能,
键: Java, JavaScript, Python,
值: 企业级应用, 前端, 机器学习/人工智能,
在上面的示例中,我们创建了一个名为 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) {
// 创建一个 HashMap
HashMap<String, String> languages = new HashMap<>();
languages.put("Java", "企业级应用");
languages.put("Python", "机器学习/人工智能");
languages.put("JavaScript", "前端");
System.out.println("HashMap: " + languages);
// 创建 Iterator 对象
Iterator<Entry<String, String>> iterate1 = languages.entrySet().iterator();
// 遍历键/值映射
System.out.print("条 目: ");
while(iterate1.hasNext()) {
System.out.print(iterate1.next());
System.out.print(", ");
}
// 遍历键
Iterator<String> iterate2 = languages.keySet().iterator();
System.out.print("\n键: ");
while(iterate2.hasNext()) {
System.out.print(iterate2.next());
System.out.print(", ");
}
// 遍历值
Iterator<String> iterate3 = languages.values().iterator();
System.out.print("\n值: ");
while(iterate3.hasNext()) {
System.out.print(iterate3.next());
System.out.print(", ");
}
}
}
输出
HashMap: {Java=企业级应用, JavaScript=前端, Python=机器学习/人工智能}
条目: Java=企业级应用, JavaScript=前端, Python=机器学习/
人工智能,
键: Java, JavaScript, Python,
值: 企业级应用, 前端, 机器学习/人工智能,
在上面的示例中,我们遍历了 hashmap 的键、值和键/值映射。我们使用 iterator()
方法遍历 hashmap。这里,
- hasNext() - 如果 hashmap 中还有下一个元素,则返回
true
- next() - 返回 hashmap 的下一个元素
注意:我们也可以使用 HashMap forEach() 方法遍历 hashmap。