HashMap 實現 Map 接口(Java 2 Collections Framework)Hashtable 繼承 Dictionary 抽象類(Java 1.0 遺留類)| 維度 | HashMap | Hashtable |
|---|---|---|
| 空鍵值支持 | 允許 null key(唯一)與 null value | 完全禁止 null key/value,拋 NullPointerException |
| 線程安全 | 非線程安全,多線程環境需外部同步 | 所有方法 synchronized,線程安全 |
| 性能 | 無鎖開銷,單線程/並發讀性能優 | 全鎖粗粒度,並發寫入性能差 |
Map syncMap = Collections.synchronizedMap(new HashMap<>()); contains(key) → HashMap 拆分為 containsKey() / containsValue()elements() (Enumeration) → values() (Collection)