java HashMap 数据结构探究

HashMap是java最经典的数据结构之一,抽空研究了下 顺便做个笔记:

    HashMap 存储 采用的是 数组+链表+红黑树的存储模式,

1.hash无冲突的时候,node直接放入数组 index=hash%数组长度

2.hash 有冲突  采用链表结构存储 元素之间用next变量连接

3.hash有冲突,链表长度大于8 ,数组长度小于64 对数组扩容

4.hash有冲突 ,链表长度大于8,数组长度大于64 链表转换为红黑树结构存储

5.红黑树节点数小于6 原本的红黑树结构会退化为链表结构存储

 

 

posted @ 2020-11-02 10:15  dint  阅读(113)  评论(0编辑  收藏  举报