区别:
hashmap方法没有synchronized修饰,线程不安全,hashtable线程安全:
hashmap允许key和value为null,而hashtable不允许
底层实现
计算key的hash值,二次hash然后对数组长度取模,对应到数组下标
如果没有产生哈市冲突,则直接创建node存入数组
如果产生hash冲突,就先进行equal比较,相同取代该元素,不相同的话,就判断链表高度插入链表,链表高度达到8,并且数组长度到64就变成红黑树了,长度低于6则将红黑树转回为链表,
key为null,存在下标0的位置。