java 1.8 hashMap 源码分析
hashMap 实现了Map接口,允许null value 和null key,基本等同于hashTable,但是HashMap不是线程安全的。
hashMap中get和put操作的时间复杂度是O(1).
put方法:
public V put(K key, V value) {
return putVal(hash(key), key, value, false, true);
}
// hash值的计算是: key的hash值的高低16位做异或操作
// 扰动函数:高低位一起参与运算,减少h
原创
2020-06-07 18:33:40 ·
164 阅读 ·
0 评论