HashMap 和 Hashtable 有什么区别?
HashMap 和 Hashtable 有什么区别?
1.继承关系:HashMap 继承自AbstractMap
Hashtable继承Dictionary
HashMap 和 Hashtable 都实现了Map <K,V> 接口,可以操作键值对数据
2.是否可以使用null:
HashMap允许有null键,null值
Hashtable不允许有null键/null值
3.初始容量: HashMap初始容量(16)
Hashtable初始容量(11)
4.扩容机制: HashMap扩容为原来的2倍
Hashtable扩容为原来的2n+1
5. 获取元素的算法: HashMap根据key【键】的得到hashcode值,然后根据这个hashcode值计算元素在集合中的位置。
Hashtable的对象得到hashcode值,通过除数留余的计算方法来算出元素在集合中的位置