HashMap 是 Java 集合框架中最常用的 Map 實現,採用鍵值對存儲,根據鍵的哈希碼決定值的存儲位置。作為鍵的對象必須正確重寫 hashCode() 和 equals() 方法,以確保鍵的唯一性判斷準確。
import java.util.Map;
import java.util.HashMap;
public class HashMapDemo {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(1, "Barcelona");
map.put(2, "RealMadrid");
map.put(3, "ManchesterUnited");
map.put(4, "AC milan");
map.put(5, null);
map.put(null, null); // 允許鍵和值為 null
System.out.println("完整映射: " + map);
System.out.println("所有鍵: " + map.keySet());
System.out.println("所有值: " + map.values());
System.out.println("集合大小: " + map.size());
System.out.println("包含鍵 2: " + map.containsKey(2));
System.out.println("包含值 Barcelona: " + map.containsValue("Barcelona"));
System.out.println("是否為空: " + map.isEmpty());
map.remove(5);
System.out.println("移除鍵 5 後: " + map);
map.clear();
System.out.println("清空後: " + map);
}
}
控制台輸出結果:

import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
public class HashMapIteration {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("Barcelona", 1);
map.put("RealMadrid", 2);
map.put("ManchesterUnited", 3);
map.put("AC milan", 4);
map.put("Chelsea", 5);
// 方式一:entrySet 遍歷(推薦,效能較高)
System.out.println("方式一:entrySet 遍歷");
Iterator<Map.Entry<String, Integer>> iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<String, Integer> entry = iter.next();
System.out.println("鍵:" + entry.getKey() + " <=> 值:" + entry.getValue());
}
// 方式二:keySet 遍歷(需額外 get 操作,效能較低)
System.out.println("\n方式二:keySet 遍歷");
Iterator<String> it = map.keySet().iterator();
while (it.hasNext()) {
String key = it.next();
Integer val = map.get(key);
System.out.println("鍵:" + key + " <=> 值:" + val);
}
// 增強 for 循環遍歷 entrySet
System.out.println("\n增強 for 循環遍歷");
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("鍵:" + entry.getKey() + " <=> 值:" + entry.getValue());
}
}
}
控制台輸出結果:
