HashMap红黑树拆分后的两个链表
在 HashMap 的树化与反树化过程中,“两个链表”具体指以下两种结构: ### **1. 原红黑树拆分后的两个链表** 当 HashMap 发生扩容(resize)时,原有的红黑树会根据新的哈希值分布被拆分为 **两个独立的链表**: • **高位链表**(hi-head):哈希值与新数组容量按位与后非零的节点; • **低位链表**(lo-head):哈希值与新数组容量按位与后为零的节点。 ### **2. 拆分后的处理逻辑** HashMap 会分别检查这两个链表的长度: 1. **长度 ≤6**:将链表退化为普通链表(`Node` 结构),取消树化; 2. **长度 >6**:重新将链表转换为红黑树(`TreeNode` 结构),保持高效查询性能。 --- ### **技术细节与设...阅读全文