- 继承的类不同,HashMap继承AbstractMap类,Hashtable 继承Dictionary类。但两者都实现了Map接口。
- 性能不同。HashMap线程不安全,效率较高;Hashtable 线程安全,效率较低。
- 存储要求不同。HashMap允许null键和null值,键不能重复,值可以重复;Hashtable 不允许null键和null值,key 和 value都不能重复,否则会抛出空指针异常。
- 初始化容量不同。HashMap底层数组初始化长度为16,Hashtable 底层数组初始化长度为11;
- 扩容方式不同。HashMap扩容容量为old * 2 ;Hashtable 扩容容量为 old * 2 + 1。
- 计算数组位置索引的方式不同。HashMap是将hash值和数组长度-1做 &运算;Hashtable 是取模运算。
Hashtable 和 HashMap 的 对比,都在这了~~
最新推荐文章于 2022-02-17 23:26:38 发布