public static IntSet create(final int... values) { return new ArrayIntSet(values); } }
/** * {@inheritDoc} */ @Override public boolean contains(final int value) { return binarySearch(ints, value) >= 0; }
private ArrayIntSet(final ArrayIntSet set1, final ArrayIntSet set2) { setToUnionOf(set1, set2); }
/** * {@inheritDoc} */ @Override public void addAll(final IntSet values) { if (values instanceof ArrayIntSet) setToUnionOf(this, (ArrayIntSet) values); else { ensureCapacity(size + values.size()); final IntIterator i = values.iterator(); while (i.hasNext()) add(i.next()); } }
/** * {@inheritDoc} */ @Override public void add(final int value) { ensureCapacity(size + 1); int index = binarySearch(ints, value); if (index < 0) { index = -index - 1; if (index < size) System.arraycopy(ints, index, ints, index + 1, size - index); ints[index] = value; size++; } }
/** * {@inheritDoc} */ @Override public int max() { if (isEmpty()) throw new NoSuchElementException(); return ints[size - 1]; }
/** * {@inheritDoc} */ @Override public void addAll(final IntSet values) { if (values instanceof ArrayIntSet) setToUnionOf(this, (ArrayIntSet) values); else { ensureCapacity(size + values.size()); final IntIterator i = values.iterator(); while (i.hasNext()) add(i.next()); } }
/** * {@inheritDoc} */ @Override public void add(final int value) { ensureCapacity(size + 1); int index = binarySearch(ints, value); if (index < 0) { index = -index - 1; if (index < size) System.arraycopy(ints, index, ints, index + 1, size - index); ints[index] = value; size++; } }
/** * {@inheritDoc} */ @Override public int max() { if (isEmpty()) throw new NoSuchElementException(); return ints[size - 1]; }
/** * {@inheritDoc} */ @Override public IntSet copy() { return new ArrayIntSet(this); }
/** * {@inheritDoc} */ @Override public boolean contains(final int value) { return binarySearch(ints, value) >= 0; }
/** * {@inheritDoc} */ @Override public int min() { if (isEmpty()) throw new NoSuchElementException(); return ints[0]; }
private ArrayIntSet(final ArrayIntSet set1, final ArrayIntSet set2) { setToUnionOf(set1, set2); }
public static IntSet create() { return new ArrayIntSet(); }
/** * {@inheritDoc} */ @Override public void remove(final int value) { final int index = binarySearch(ints, value); if (index >= 0) { if (index < size - 1) System.arraycopy(ints, index + 1, ints, index, size - index - 1); size--; } }
/** * {@inheritDoc} */ @Override public int min() { if (isEmpty()) throw new NoSuchElementException(); return ints[0]; }
@Override public IntSet union(final IntSet values) { return new ArrayIntSet(this, (ArrayIntSet) values); } }
/** * {@inheritDoc} */ @Override public void remove(final int value) { final int index = binarySearch(ints, value); if (index >= 0) { if (index < size - 1) System.arraycopy(ints, index + 1, ints, index, size - index - 1); size--; } }