hashmap源码逻辑解析
hashmap是一个存储键值对的集合,维护的是个数组,每个键值对是Entry类型(Map键值对 对象,是个对象)分散存储在数组中,对应的key是该数据通过哈希算法所计算出来的hashcode
jdk版本
结构
添加元素的顺序
1.7
数组+链表
头插法
1.8
数组+链表+红黑树
尾插法
(若哈希算法的优化比较好,每次取值的空间复杂度是O(1),最差情况就是所有的数值都堆积在一个节点里面——数组退化成链表,空间复杂度O(n),JDK1.8考虑到这点,就在数组结构添加了一个红黑树)
相
原创
2021-11-07 19:42:30 ·
117 阅读 ·
0 评论