区别:
)混叠映射方法无同步修饰,线程不安全; 休眠线程安全
)2) HashMap允许key和value为null,HashTable不允许
基本实现:实现数组链表
jdk8的链表高度开始超过8,数组长度开始超过64,链表变为红黑树,元素作为内部类的节点存在
计算key的混列值,二次混列,取数组长度,对应数组下标
如果未发生混列冲突,且下标位置没有元素,则直接创建节点并将其存储在数组中。
发生混列冲突时,先进行equals比较,相同时替换该因素; 否则,确定链表的高度将插入链表中,链表的高度将达到8,数组的长度将达到64,变为红黑树。 长度小于6时,将红黑树放回链表
key为空,存在下标为0的位置