HashMap数据存储结构
首先都应该自带HashMap是存储key,value数据,但是它的数据结构是比较复杂的,
它的底层实现包括数组,链表,红黑树(JDK8):
数组:采用连续的存储单元来存储数据
特点:访问指定下标数组元素为O(1),删除插入O(N) 查询快,插入慢
链表:非连续,非顺序的存储结构
特点:插入,删除为O(1),查询遍历为O(N) 插入快,查找
红黑树是在JDK8中添加的,它的出现是改善了因为链表过长导致查询速
度变慢,但在一定程度上影响了其插入效率

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

浙公网安备 33010602011771号