在JDK1.6,JDK1.7中,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里.但是当数组中一个位置上的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低.而JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,并且数组总容量超过64时,将链表转换为红黑树,这样大大减少了查找时间.从链表转换为红黑树后增加的时候效率低点,查询.删除的效率都高. 当添加一个元素(key-value)时,就首先计算元素k…