1、线程是否安全
● HashMap线程不安全
● Hashtable线程安全
2、效率
● 因为线程不安全,所以HashMap比Hashtable效率高
3、Null Key 和 Null Value
● HashMap:只有一个键可为null;可以有一个或多键对应的值为null。
● Hashtable:不允许键和值为null,会抛出NullPointerException。
4、初始化容量
● HashMap:16
● Hashtable:11
5、扩容
● HashMap:2n
● Hashtable:2n + 1
6、附加:Hashtable中的t为什么是小写
sun公司在Java2后确定的驼峰命名,而Hashtable是Java1就有的,当时命名不规范导致。
参考