Fork me on GitHub

HashMap数据存储结构

  首先都应该自带HashMap是存储key,value数据,但是它的数据结构是比较复杂的,

   它的底层实现包括数组,链表,红黑树(JDK8):

数组:采用连续的存储单元来存储数据

特点:访问指定下标数组元素为O(1),删除插入O(N) 查询快,插入慢

 

链表:非连续,非顺序的存储结构

特点:插入,删除为O(1),查询遍历为O(N) 插入快,查找

 

 

红黑树是在JDK8中添加的,它的出现是改善了因为链表过长导致查询速

度变慢,但在一定程度上影响了其插入效率

        

 

       上图中可以看出当链表长度大于7时就会调用treeifBin()函数转换为红黑树

 

 

 

 

 

posted @ 2020-04-21 22:59  DescribeMe  阅读(725)  评论(0)    收藏  举报