区别:(1)Hashmap方法没有用synchronized修饰,线程非安全,HashTable线程安全。
(2):Hashmap允许key和value的值为null 而HashTable不允许。
相同:都是由 数组+链表实现。
如果计算key的hash值,二次hash后==》 二次哈希
对数组长度取模。对应到数组下表 :没有hash冲突就直接存入Node存入数组。
若产生hash冲突,先进行equals比较,相同则取代该元素,不同则判断链表的高度。
插入链表,链表高度达到8,并且数组长度达到6则转化为红黑树。
此时链表不存在,取而代之的是红黑树,当长度低于6时则又会退化成链表