boolean retainAll(@Nonnull HashIntSet thisC, @Nonnull Collection<?> c) { if (c instanceof IntCollection) return retainAll(thisC, (IntCollection) c); if (thisC == (Object) c) throw new IllegalArgumentException(); if (this.isEmpty()) return false; if (c.isEmpty()) { clear(); return true; int mc = modCount(); int free = freeValue; int removed = removedValue; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free) { if (!c.contains(key)) { incrementModCount(); mc++; keys[i] = removed; postRemoveHook(); changed = true; if ((key = keys[i]) != free && key != removed) { if (!c.contains(key)) { incrementModCount(); mc++;
@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; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free) { result[resultIndex++] = key; } } } else { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free && key != removed) { result[resultIndex++] = key; } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return result; }
@Override public void remove() { int index; if ((index = this.index) >= 0) { if (expectedModCount++ == modCount()) { this.index = -1; incrementModCount(); keys[index] = 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; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free) { hashCode += key; } } } else { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != 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 (this.isEmpty()) return; int mc = modCount(); int free = freeValue; int removed = removedValue; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free) { action.accept(key); } } } else { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free && key != removed) { action.accept(key); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }
public String setToString() { if (this.isEmpty()) return "[]"; StringBuilder sb = new StringBuilder(); int elementCount = 0; int mc = modCount(); int free = freeValue; int removed = removedValue; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { 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()) { int[] keys = this.keys; int free = this.free; for (int i = index - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free) { index = i; curKey = key; return true; } } curKey = free; index = -1; return false; } else { throw new java.util.ConcurrentModificationException(); } }
@Override void removeAt(int index) { incrementModCount(); super.removeAt(index); postRemoveHook(); }
@Override public void clear() { int mc = modCount() + 1; super.clear(); if (mc != modCount()) throw new ConcurrentModificationException(); } }
public boolean removeIf(Predicate<? super Integer> filter) { if (filter == null) throw new java.lang.NullPointerException(); if (this.isEmpty()) return false; boolean changed = false; int mc = modCount(); int free = freeValue; int removed = removedValue; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free) { if (filter.test(key)) { incrementModCount(); mc++; keys[i] = removed; postRemoveHook(); changed = true; if ((key = keys[i]) != free && key != removed) { if (filter.test(key)) { incrementModCount(); mc++; keys[i] = removed; postRemoveHook(); changed = true; if (mc != modCount())
public boolean reverseAddAllTo(IntCollection c) { if (this.isEmpty()) return false; boolean changed = false; int mc = modCount(); int free = freeValue; int removed = removedValue; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free) { changed |= c.add(key); } } } else { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free && key != removed) { changed |= c.add(key); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return changed; }
@Override public void remove() { int free; if (curKey != (free = this.free)) { if (expectedModCount++ == modCount()) { this.curKey = free; incrementModCount(); keys[index] = removed; postRemoveHook(); } else { throw new java.util.ConcurrentModificationException(); } } else { throw new java.lang.IllegalStateException(); } } }
public String setToString() { if (this.isEmpty()) return "[]"; StringBuilder sb = new StringBuilder(); int elementCount = 0; int mc = modCount(); int free = freeValue; int removed = removedValue; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { 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; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free) { hashCode += key; } } } else { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free && key != removed) { hashCode += key; } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return hashCode; }
@Override public boolean moveNext() { if (expectedModCount == modCount()) { int[] keys = this.keys; int free = this.free; int removed = this.removed; for (int i = index - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free && key != removed) { index = i; curKey = key; return true; } } curKey = free; index = -1; return false; } else { throw new java.util.ConcurrentModificationException(); } }
@Override void removeAt(int index) { incrementModCount(); super.removeAt(index); postRemoveHook(); }
@Override public void clear() { int mc = modCount() + 1; super.clear(); if (mc != modCount()) throw new ConcurrentModificationException(); } }
public boolean reverseAddAllTo(IntCollection c) { if (this.isEmpty()) return false; boolean changed = false; int mc = modCount(); int free = freeValue; int removed = removedValue; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free) { changed |= c.add(key); } } } else { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free && key != removed) { changed |= c.add(key); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return changed; }
@Override public void remove() { int free; if (curKey != (free = this.free)) { if (expectedModCount++ == modCount()) { this.curKey = free; incrementModCount(); keys[index] = 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; int[] keys = set; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free) { result[resultIndex++] = key; } } } else { for (int i = keys.length - 1; i >= 0; i--) { int key; if ((key = keys[i]) != free && key != removed) { result[resultIndex++] = key; } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return result; }