JDK7中的HashMap
2021-03-04 16:44:33 0 举报
JDK7中的HashMap
作者其他创作
大纲/内容
return null
是
否
for循环判断是否存在于该数组下标为0的位置上的链表中
return oldValue
覆盖旧值并返回新值oldValue=e.valuee.value=newValue
number是否大于1
判断key是否为null
将数组下标位置的元素指向新的链表头部
将key,value的Entry插入到该数组下标位置的链表头部
map.put
是否扩容
初始化new一个数组
HashMap结构:数组+链表
return max 32
return一个比number大的最近的一个2的幂次数
return 1
判断原数组长度是否等于最大长度
通过key的hash值和数组长度求余计算数组下标,hashmap中用的不是求余,但是思想是一样的。
阈值=最大长度返回
初始化数组inflateTable(初始化的map长度)
数组是否为null
接下来的步骤和右面一致,详细情况请看右侧。modCount++
key为nuu处理
判断当前数组长度是否超过阈值,并且当前数组下标是否有值
number是否大于最大长度
modCount++
计算key的hash值
计算数组长度roundUpToPowerOf2
for循环判断是否存在于该数组下标位置的链表上
0 条评论
回复 删除
下一页