private boolean tryRehashForExpansion(int newCapacity) { // No sense in rehashing for expansion if we already reached Java array // size limit. if (newCapacity > capacity() || removedSlots > 0) { rehash(newCapacity); return true; } else { if (freeSlots < minFreeSlots) minFreeSlots = (freeSlots + 1) / 2; return false; } }
private boolean tryRehashForExpansion(int newCapacity) { // No sense in rehashing for expansion if we already reached Java array // size limit. if (newCapacity > capacity() || removedSlots > 0) { rehash(newCapacity); return true; } else { if (freeSlots < minFreeSlots) minFreeSlots = (freeSlots + 1) / 2; return false; } }
@Override public boolean shrink() { int newCapacity = targetCapacity(size); if (removedSlots > 0 || newCapacity < capacity()) { rehash(newCapacity); return true; } else { return false; } }
@Override public boolean shrink() { int newCapacity = targetCapacity(size); if (removedSlots > 0 || newCapacity < capacity()) { rehash(newCapacity); return true; } else { return false; } }
private boolean tryRehashIfTooFewFreeSlots() { if (removedSlots > 0) { rehash(targetCapacity(size)); return true; } else { return tryRehashForExpansion(grownCapacity()); } }
private boolean tryRehashIfTooFewFreeSlots() { if (removedSlots > 0) { rehash(targetCapacity(size)); return true; } else { return tryRehashForExpansion(grownCapacity()); } }