Untitled

JDK 8 以前 HashMap 的实现是 数组 + 链表,它之所以有相当快的查询速度主要是因为它是通过 key 计算 hashCode 来决定一维数组中存储的位置,而增删速度靠的是链表保证。

Untitled

JDK 1.8 中,用数组 + 链表 + 红黑树的结构来优化,链表长度大于等于 8 同时满足 HashMap 中元素个数大于等于 64 则变红黑树,长度小于等于 6 变回链表

链表长度大于等于 8,数组的长度 >= 64

https://blog.csdn.net/qq_45369827/article/details/114930945

数据结构

什么时候数组➕链表改成数组➕红黑树?

链表和红黑树的区别

JDK8为什么使用红黑树

什么时候链表转红黑树

为什么红黑树转链表是 6