jdk7HashMap与ConcurrentHashMap源码分析
HashMap
核心流程
hashMap核心结构就是数组+链表的实现,在new HashMap()时,初始化默认threshold阈值为16,并设置默认的负载因子0.75f(与数组扩容有关)。
当有新的元素插入时,会根据计算出来的容量和负载因子重新计算阈值为12,并初始化HashMap的table属性(Entry数组)以及hashSeed属性;判断key是否为空,为空则将元素put到第0个数组中;通过位移运算得到一个hash值以及key的数组下标;遍历整个链表如果有相同的key,则覆盖并返回旧值,
原创
2021-12-20 17:30:44 ·
463 阅读 ·
0 评论