参考文章:
(1)美团面试题:Hashmap的结构,1.7和1.8有哪些区别,史上最深入的分析
HashMap, ConcurrentHashMap 原理及源码,一次性讲清楚!
JDK1.7的时候使用的是数组+ 单链表的数据结构。
JDK1.8及之后时,使用的是数组+链表+红黑树的数据结构。
注:
当链表的深度达到8的时候,也就是默认阈值,就会自动扩容把链表转成红黑树的数据结构,
把时间复杂度从O(n)变成O(nlogN)提高了效率
参考文章:
(1)美团面试题:Hashmap的结构,1.7和1.8有哪些区别,史上最深入的分析
HashMap, ConcurrentHashMap 原理及源码,一次性讲清楚!
JDK1.7的时候使用的是数组+ 单链表的数据结构。
JDK1.8及之后时,使用的是数组+链表+红黑树的数据结构。
注:
当链表的深度达到8的时候,也就是默认阈值,就会自动扩容把链表转成红黑树的数据结构,
把时间复杂度从O(n)变成O(nlogN)提高了效率