HashMap的核心方法put(K key,V value)方法源码详解,10分钟看完put方法源码知天知地
HashMap的核心方法就是 : put()和resize()
HashMap面试面的比较多的部分就是hashmap的put方法了
不多bb看源码~
通过源码我们可以发现,put方法底层调用了一个putval方法,也就是说put方法中真正做事的是putval()方法
通过源码我们很清晰的可以看到第一个参数调用了hash()方法
,这个方法暗藏什么玄机?
其实很简单
这个putval方法有五个参数
int hash 经过hash(Object key)扰动过后的hash值
K key 不解释
V value 不解释
boolean onlyIfAbsent 判断元素是否存在 默认是false
boolean evict 默认true
为了方便讲解我把源码放在word中进行注释说明