java HashMap 数据结构探究
HashMap是java最经典的数据结构之一,抽空研究了下 顺便做个笔记:
HashMap 存储 采用的是 数组+链表+红黑树的存储模式,
1.hash无冲突的时候,node直接放入数组 index=hash%数组长度
2.hash 有冲突 采用链表结构存储 元素之间用next变量连接
3.hash有冲突,链表长度大于8 ,数组长度小于64 对数组扩容
4.hash有冲突 ,链表长度大于8,数组长度大于64 链表转换为红黑树结构存储
5.红黑树节点数小于6 原本的红黑树结构会退化为链表结构存储