@Override public boolean contains(final int key) { if (count != 0) { // read-volatile IntHashEntry<V> entry = getFirst(key); while (entry != null) { if (entry.key == key) { return true; } entry = entry.next; } } return false; }
@Override public boolean contains(final int key) { if (count != 0) { // read-volatile IntHashEntry<V> entry = getFirst(key); while (entry != null) { if (entry.key == key) { return true; } entry = entry.next; } } return false; }
@Override public boolean contains(final int key) { if (count != 0) { // read-volatile IntHashEntry<V> entry = getFirst(key); while (entry != null) { if (entry.key == key) { return true; } entry = entry.next; } } return false; }
@Override public V get(final int key) { if (count != 0) { // read-volatile IntHashEntry<V> entry = getFirst(key); while (entry != null) { if (entry.key == key) { final V value = entry.value; return value != null ? value : readValueUnderLock(entry); } entry = entry.next; } } return null; }
@Override public V get(final int key) { if (count != 0) { // read-volatile IntHashEntry<V> entry = getFirst(key); while (entry != null) { if (entry.key == key) { final V value = entry.value; return value != null ? value : readValueUnderLock(entry); } entry = entry.next; } } return null; }
@Override public V get(final int key) { if (count != 0) { // read-volatile IntHashEntry<V> entry = getFirst(key); while (entry != null) { if (entry.key == key) { final V value = entry.value; return value != null ? value : readValueUnderLock(entry); } entry = entry.next; } } return null; }
@Override public boolean replace(final int key, @NotNull final V oldValue, @NotNull final V newValue) { VerifyArgument.notNull(oldValue, "oldValue"); VerifyArgument.notNull(newValue, "newValue"); lock(); try { IntHashEntry<V> entry = getFirst(key); while (entry != null && entry.key != key) { entry = entry.next; } if (entry != null && oldValue.equals(entry.value)) { entry.value = newValue; return true; } return false; } finally { unlock(); } }
@Override public boolean replace(final int key, @NotNull final V oldValue, @NotNull final V newValue) { VerifyArgument.notNull(oldValue, "oldValue"); VerifyArgument.notNull(newValue, "newValue"); lock(); try { IntHashEntry<V> entry = getFirst(key); while (entry != null && entry.key != key) { entry = entry.next; } if (entry != null && oldValue.equals(entry.value)) { entry.value = newValue; return true; } return false; } finally { unlock(); } }
@Override public boolean replace(final int key, @NotNull final V oldValue, @NotNull final V newValue) { VerifyArgument.notNull(oldValue, "oldValue"); VerifyArgument.notNull(newValue, "newValue"); lock(); try { IntHashEntry<V> entry = getFirst(key); while (entry != null && entry.key != key) { entry = entry.next; } if (entry != null && oldValue.equals(entry.value)) { entry.value = newValue; return true; } return false; } finally { unlock(); } }