hashmap 底层源码分析

jdk 1.8

hashmap 底层的数据结构 数组+链表+红黑树

底层存储数据的结构Node 内部类

hashmap 调用hash 函数

1.计算hashcode函数的值

2.hashcode值右移16位,获得hashcode的高位

3.hashcode 高位与低位进行与运算

hashmap 默认的初始容量16

hashmap 的最大容量 2^30

hashmap 默认的加载因子 0.75

超过当前因子*默认容量,进行1倍扩容.(超过指定的阈值,进行扩容.阈值=默认容量*当前因子)  threshold = loadFactor * 容量

链表长度超过8,链表转化为红黑树.

https://blog.csdn.net/u010890358/article/details/80496144

猜你喜欢

转载自blog.csdn.net/u011243684/article/details/87010079