HashMap和HashTable论点
1.安全性
2.是否可以使用null作为key
3.继承了什么,实现了什么
4.默认容量及如何扩容
6.底层实现
7.计算hash的方法不同
HashMap继承了AbstractMap,HashTable继承Dictionary抽象类,两者均实现Map接口。从诞生时间点来看,HashTable生于JDK 1.1,而HashMap生于JDK 1.2。从时间上来看,HashMap要比HashTable出现得晚。
具体从以下进行论述
HashMap和HashTable相同点:
- 都是以key和value的形式进行存储数据;
- 两者都实现了Map、Cloneable(可克隆)、Serializable(可序列化)接口。
HashMap和HashTable不同点:
两者区别 :
- HashMap方法没有被synchronized所修饰,没有锁机制的话,在线程同步方面,HashMap是线程非安全,HashTable因为有了锁机制,所以是线程安全;
实现代码如下:
- HashMap允许key和value为null,而HashTable不允许Value和key为null。
实现代码如下&