HashMap和Hashtable的比较

HashMap和Hashtable的比较

共同点

结构

都是数组 + 链表的形式

存值方式

都是根据key的hash计算,再将(key,value)组装为Entry或Node

区别

put区别

1、HashMap允许key和value都为null,而Hashtable不允许

2、HashMap是线程不安全的,Hashtable是线程安全的。

3、HashMap存值,在链表长度 > 8 并且 数组长度 < 64,会进行扩容,如果数组长度 > 64,则将链表转换为红黑树。

Hashtable存值只有在table的size达到临界值时才会进行扩容

4、HashMap在链表存值时尾部插入,而Hashtable是头部插入