[Java] 纯文本查看 复制代码
V put(K paramK, int paramInt, V paramV, boolean paramBoolean)
{
lock();
try {
Object localObject1;
Object localObject2;
int i = this.count;
if (i++ > this.threshold)
rehash();
ConcurrentHashMap.HashEntry[] arrayOfHashEntry = this.table;
int j = paramInt & arrayOfHashEntry.length - 1;
ConcurrentHashMap.HashEntry localHashEntry1 = arrayOfHashEntry[j];
ConcurrentHashMap.HashEntry localHashEntry2 = localHashEntry1;
while ((localHashEntry2 != null) && (((localHashEntry2.hash != paramInt) || (!(paramK.equals(localHashEntry2.key)))))) {
localHashEntry2 = localHashEntry2.next;
}
if (localHashEntry2 != null) {
localObject1 = localHashEntry2.value;
if (!(paramBoolean))
localHashEntry2.value = paramV;
}
else {
localObject1 = null;
this.modCount += 1;
arrayOfHashEntry[j] = new ConcurrentHashMap.HashEntry(paramK, paramInt, localHashEntry1, paramV);
this.count = i;
}
return localObject1;
} finally {
unlock();
}
}