关于退化条件的理解
JDK1.8hashmap源码中,两个地方提到了退化。
在扩容的split内
如果节点个数 <= 6 个则将红黑树转为链表结构
//对lo表(表1)进行判断
if (loHead != null) {
// 原索引位置的节点不为空
// 如果节点个数lc<=6个则将红黑树转为链表结构
if (lc <= UNTREEIFY_THRESHOLD)//lo表内满足退化条件
tab[index] = loHead.untreeify(map);//将对应索引index的树变为链表
else {
// 将原索引位置的节点设置为对应的头节点
tab[index] = loHead;
//如果hiHead不为空,则代表原来的红黑树(