@Override public boolean reverseRemoveAllFrom(DoubleSet s) { if (s instanceof InternalDoubleCollectionOps) return reverseRemoveAllFrom((InternalDoubleCollectionOps) s); if (this.isEmpty() || s.isEmpty()) return false; boolean changed = false; int mc = modCount(); short free = freeValue; short removed = removedValue; short[] keys = set; long[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { if (keys[i] != free) { changed |= s.removeDouble(Double.longBitsToDouble(vals[i])); } } } else { for (int i = keys.length - 1; i >= 0; i--) { short key; if ((key = keys[i]) != free && key != removed) { changed |= s.removeDouble(Double.longBitsToDouble(vals[i])); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return changed; }
@Override public boolean reverseRemoveAllFrom(DoubleSet s) { if (s instanceof InternalDoubleCollectionOps) return reverseRemoveAllFrom((InternalDoubleCollectionOps) s); if (this.isEmpty() || s.isEmpty()) return false; boolean changed = false; int mc = modCount(); short free = freeValue; short removed = removedValue; short[] keys = set; long[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { if (keys[i] != free) { changed |= s.removeDouble(Double.longBitsToDouble(vals[i])); } } } else { for (int i = keys.length - 1; i >= 0; i--) { short key; if ((key = keys[i]) != free && key != removed) { changed |= s.removeDouble(Double.longBitsToDouble(vals[i])); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return changed; }