hashMap 和 hashTable 的区别 ?

hashMap 和 hashTable 都实现了线程Map接口 ,但hashTable还实现Dictionary抽象类。

hashMap 是线程异步,不安全的。 hashTable 是线程同步,线程安全的 。

hashMap 支持null做key ,hashTable 不支持null做key 。

hashMap 的扩容量是当前容量翻倍,hashTable 的扩容量是当前容量翻倍+1。

两者计算hash的方法不同。

Hashtable计算hash是直接使用key的hashcode对table数组的长度直接进行取模。

HashMap计算hash对key的hashcode进行了二次hash,以获得更好的散列值,然后对table数组长度取摸。



猜你喜欢

转载自blog.csdn.net/qq_20446879/article/details/79547825