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是头部插入