public boolean forEachEntry(final TIntObjectProcedure<V> procedure) { final byte[] states = this._states; final int[] keys = this._set; final V[] values = (V[]) this._values; int i = keys.length; while (i-- > 0) { if (states[i] == 1 && !procedure.execute(keys[i], values[i])) { return false; } } return true; }
public boolean retainEntries(final TIntObjectProcedure<V> procedure) { boolean modified = false; final byte[] states = this._states; final int[] keys = this._set; final V[] values = (V[]) this._values; this.tempDisableAutoCompaction(); try { int i = keys.length; while (i-- > 0) { if (states[i] == 1 && !procedure.execute(keys[i], values[i])) { this.removeAt(i); modified = true; } } } finally { this.reenableAutoCompaction(true); } return modified; }