JDK 8 以前 HashMap 的实现是 数组 + 链表,它之所以有相当快的查询速度主要是因为它是通过 key 计算 hashCode 来决定一维数组中存储的位置,而增删速度靠的是链表保证。
JDK 1.8 中,用数组 + 链表 + 红黑树的结构来优化,链表长度大于等于 8 同时满足 HashMap 中元素个数大于等于 64 则变红黑树,长度小于等于 6 变回链表
链表长度大于等于 8,数组的长度 >= 64
https://blog.csdn.net/qq_45369827/article/details/114930945
数据结构
什么时候数组➕链表改成数组➕红黑树?
链表和红黑树的区别
JDK8为什么使用红黑树
什么时候链表转红黑树
为什么红黑树转链表是 6