@Override public boolean containsKey(Object key) { return key != null && keys[find(key)] != null; }
@Override public boolean containsKey(Object key) { return key != null && keys[find(key)] != null; }
@Override public boolean containsKey(Object key) { return key != null && keys[find(key)] != null; }
@Override public V remove(Object key) { if (key == null) { return null; } int index = find(key); if (keys[index] == null) { return null; } else { ((Object[])keys)[index] = REMOVED; numEntries--; V oldValue = values[index]; values[index] = null; // don't decrement numSlotsUsed return oldValue; } // Could un-set recentlyAccessed's bit but doesn't matter }
@Override public V remove(Object key) { if (key == null) { return null; } int index = find(key); if (keys[index] == null) { return null; } else { ((Object[])keys)[index] = REMOVED; numEntries--; V oldValue = values[index]; values[index] = null; // don't decrement numSlotsUsed return oldValue; } // Could un-set recentlyAccessed's bit but doesn't matter }
@Override public V remove(Object key) { if (key == null) { return null; } int index = find(key); if (keys[index] == null) { return null; } else { ((Object[])keys)[index] = REMOVED; numEntries--; V oldValue = values[index]; values[index] = null; // don't decrement numSlotsUsed return oldValue; } // Could un-set recentlyAccessed's bit but doesn't matter }
@Override public V get(Object key) { if (key == null) { return null; } int index = find(key); if (countingAccesses) { recentlyAccessed.set(index); } return values[index]; }
@Override public V get(Object key) { if (key == null) { return null; } int index = find(key); if (countingAccesses) { recentlyAccessed.set(index); } return values[index]; }
@Override public V get(Object key) { if (key == null) { return null; } int index = find(key); if (countingAccesses) { recentlyAccessed.set(index); } return values[index]; }