62,614
社区成员
发帖
与我相关
我的任务
分享
public final boolean put(K key, V value) {
final int hash = System.identityHashCode(key);
final int bucket = hash & indexMask;
for (Entry<K, V> entry = buckets[bucket]; entry != null; entry = entry.next) {
if (key == entry.key) {
return true;
}
}
Entry<K, V> entry = new Entry<K, V>(key, value, hash, buckets[bucket]);
buckets[bucket] = entry; // 并发是处理时会可能导致缓存丢失,但不影响正确性
return false;
}
IdentityHashMap<Integer, Integer> aa = new IdentityHashMap<Integer, Integer>();
for (int i = 0 ; i< 1023; i++) {
aa.put(i, i);
}
for (int i = 0; i< 1023; i++) {
System.out.println(aa.get(i));
}
这段代码计算出来的结果为:
....
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
null
null
null
null
null
null
null
null
.....