boolean retainAll(@Nonnull HashIntSet thisC, @Nonnull Collection<?> c) { if (c instanceof IntCollection) return retainAll(thisC, (IntCollection) c); if (thisC == c) throw new IllegalArgumentException(); if (isEmpty()) return false; if (c.isEmpty()) { clear(); return true; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free) { if (!c.contains(key)) { incrementModCount(); mc++; U.putInt(tab, base + off, removed); postRemoveHook(); changed = true; if ((key = U.getInt(tab, base + off)) != free && key != removed) { if (!c.contains(key)) { incrementModCount();
@Nonnull public int[] toIntArray() { int size = size(); int[] result = new int[size]; if (size == 0) return result; int resultIndex = 0; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return result;
@Override public void remove() { int free; if (curKey != (free = this.free)) { if (expectedModCount++ == modCount()) { this.curKey = free; incrementModCount(); U.putInt(tab, LONG_BASE + INT_KEY_OFFSET + (((long) (index)) << LONG_SCALE_SHIFT), removed); postRemoveHook(); } else { throw new java.util.ConcurrentModificationException(); } } else { throw new java.lang.IllegalStateException(); } } }
public int setHashCode() { int hashCode = 0; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free) { hashCode += key; } } } else { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free && key != removed) { hashCode += key; } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return hashCode; }
public void forEach(Consumer<? super Integer> action) { if (action == null) throw new java.lang.NullPointerException(); if (isEmpty()) return; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free) { action.accept(key); } } } else { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free && key != removed) { action.accept(key); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }
public String setToString() { if (isEmpty()) return "[]"; StringBuilder sb = new StringBuilder(); int elementCount = 0; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; sb.append(' ').append(key).append(','); if (++elementCount == 8) { int expectedLength = sb.length() * (size() / 8); sb.ensureCapacity(expectedLength + (expectedLength / 2)); sb.append(' ').append(key).append(','); if (++elementCount == 8) { int expectedLength = sb.length() * (size() / 8); sb.ensureCapacity(expectedLength + (expectedLength / 2)); if (mc != modCount()) throw new java.util.ConcurrentModificationException(); sb.setCharAt(0, '[');
@Override public boolean moveNext() { if (expectedModCount == modCount()) { long[] tab = this.tab; int free = this.free; long entry; for (int i = index - 1; i >= 0; i--) { int key; if ((key = (int) (entry = tab[i])) != free) { index = i; curKey = key; return true; } } curKey = free; index = -1; return false; } else { throw new java.util.ConcurrentModificationException(); } }
public boolean removeIf(Predicate<? super Integer> filter) { if (filter == null) throw new java.lang.NullPointerException(); if (isEmpty()) return false; boolean changed = false; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free) { if (filter.test(key)) { incrementModCount(); mc++; U.putInt(tab, base + off, removed); postRemoveHook(); changed = true; if ((key = U.getInt(tab, base + off)) != free && key != removed) { if (filter.test(key)) { incrementModCount(); mc++; U.putInt(tab, base + off, removed); postRemoveHook(); changed = true;
public boolean reverseAddAllTo(IntCollection c) { if (isEmpty()) return false; boolean changed = false; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free) { changed |= c.add(key); } } } else { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free && key != removed) { changed |= c.add(key); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return changed; }
@Override public void remove() { int index; if ((index = this.index) >= 0) { if (expectedModCount++ == modCount()) { this.index = -1; incrementModCount(); U.putInt(tab, LONG_BASE + INT_KEY_OFFSET + (((long) (index)) << LONG_SCALE_SHIFT), removed); postRemoveHook(); } else { throw new java.util.ConcurrentModificationException(); } } else { throw new java.lang.IllegalStateException(); } } }
public String setToString() { if (isEmpty()) return "[]"; StringBuilder sb = new StringBuilder(); int elementCount = 0; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; sb.append(' ').append(key).append(','); if (++elementCount == 8) { int expectedLength = sb.length() * (size() / 8); sb.ensureCapacity(expectedLength + (expectedLength / 2)); sb.append(' ').append(key).append(','); if (++elementCount == 8) { int expectedLength = sb.length() * (size() / 8); sb.ensureCapacity(expectedLength + (expectedLength / 2)); if (mc != modCount()) throw new java.util.ConcurrentModificationException(); sb.setCharAt(0, '[');
public int setHashCode() { int hashCode = 0; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free) { hashCode += key; } } } else { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free && key != removed) { hashCode += key; } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return hashCode; }
@Override public boolean moveNext() { if (expectedModCount == modCount()) { long[] tab = this.tab; int free = this.free; long entry; for (int i = index - 1; i >= 0; i--) { int key; if ((key = (int) (entry = tab[i])) != free) { index = i; curKey = key; return true; } } curKey = free; index = -1; return false; } else { throw new java.util.ConcurrentModificationException(); } }
public void forEach(Consumer<? super Integer> action) { if (action == null) throw new java.lang.NullPointerException(); if (isEmpty()) return; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free) { action.accept(key); } } } else { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free && key != removed) { action.accept(key); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }
@Override public void remove() { int index; if ((index = this.index) >= 0) { if (expectedModCount++ == modCount()) { this.index = -1; incrementModCount(); U.putInt(tab, LONG_BASE + INT_KEY_OFFSET + (((long) (index)) << LONG_SCALE_SHIFT), removed); postRemoveHook(); } else { throw new java.util.ConcurrentModificationException(); } } else { throw new java.lang.IllegalStateException(); } } }
@Nonnull public Object[] toArray() { int size = size(); Object[] result = new Object[size]; if (size == 0) return result; int resultIndex = 0; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return result;
@Override public boolean moveNext() { if (expectedModCount == modCount()) { long[] tab = this.tab; int free = this.free; int removed = this.removed; long entry; for (int i = index - 1; i >= 0; i--) { int key; if ((key = (int) (entry = tab[i])) != free && key != removed) { index = i; curKey = key; return true; } } curKey = free; index = -1; return false; } else { throw new java.util.ConcurrentModificationException(); } }
boolean retainAll(@Nonnull HashIntSet thisC, @Nonnull Collection<?> c) { if (c instanceof IntCollection) return retainAll(thisC, (IntCollection) c); if (thisC == c) throw new IllegalArgumentException(); if (isEmpty()) return false; if (c.isEmpty()) { clear(); return true; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free) { if (!c.contains(key)) { incrementModCount(); mc++; U.putInt(tab, base + off, removed); postRemoveHook(); changed = true; if ((key = U.getInt(tab, base + off)) != free && key != removed) { if (!c.contains(key)) { incrementModCount();
public void forEach(IntConsumer action) { if (action == null) throw new java.lang.NullPointerException(); if (isEmpty()) return; int mc = modCount(); int free = freeValue; int removed = removedValue; long[] tab = table; long base = LONG_BASE + INT_KEY_OFFSET; if (noRemoved()) { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free) { action.accept(key); } } } else { for (long off = ((long) tab.length) << LONG_SCALE_SHIFT; (off -= LONG_SCALE) >= 0L;) { int key; if ((key = U.getInt(tab, base + off)) != free && key != removed) { action.accept(key); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }