此时却羡闲人醉,五马无由入酒家。 —白居易《早冬》
| 区别 | HashMap | Hashtable |
| 推出版本 | JDK1.2 | JDK1.0 |
| 继承 | HashMap<K, V> extends AbstractMap<K, V> | Hashtable<K, V> extends Dictionary<K, V> |
| 性能 | 异步处理,性能高 | 同步处理,性能低 |
| 安全性 | 非线程安全 | 线程安全 |
| null | 允许为null(有且只有一个) | K、V都不能为null |
| 初始容量 | 16(2幂次方) | 11 |
| HashCode | 重新计算 | 直接使用 |
| 扩容(负载因子0.75) | 当节点数超过8时,转换为红黑树(倍增扩容) | 超过负载因子自动扩容(2*n+1) |
| 遍历 | Iterator | Enumeration |
| 名字 | 驼峰命名法 | 非驼峰(Hashtable中t是小写的) |

本文对比了HashMap与Hashtable两种数据结构的特性与应用场景。从推出版本、继承方式、性能、安全性等多个方面进行了详细的比较,帮助读者理解两者之间的差异。
1564

被折叠的 条评论
为什么被折叠?



