HashMap 源码探究

put:
public V put(K key, V value) {
//这里调用了putVal()
return putVal(hash(key), key, value, false, true);
}

hash:
static final int hash(Object key) {
int h;
//这里用key的hashcode与自身右移16位做异位运算
//为了&(length-1)获得数组下标时,让下标不止受hashcode的的后几位影响,减小hash冲突
return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
}

putVal:
final V putVal(int hash, K key, V

HashMap 源码探究最先出现在Python成神之路

版权声明:
作者:dingding
链接:https://www.techfm.club/p/23341.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>