今天面试被问到了HashMap和Hashtable的不同,回答得不太好,所以总结下。
共同点:
- 都实现自map接口。
不同点:
- HashMap键和值都可以为null(键只能存一个null),Hashtable键和值都不能存null(存了就会报NullPointerException异常);
- HashMap是线程不安全的(可使用Collections.synchronizedMap(new Map<K,V>)或或ConcurrentHashMap达到线程安全),而Hashtable是线程安全的(方法加了synchronized)。