/** * @return true iff this set contains integer i */ @Override public boolean containsAny(IntSet set) { if (set == null) { throw new IllegalArgumentException("null set"); } if (!sparsePart.isEmpty() && sparsePart.containsAny(set)) { return true; } else if (densePart != null) { int lower = densePart.getOffset(); for (IntIterator is = set.intIterator(); is.hasNext();) { int i = is.next(); if (i < lower) continue; if (densePart.get(i)) { return true; } } } return false; }
/** * Remove an integer from this set. * * @param i integer to remove * @return true iff the value of this changes. */ @Override public boolean remove(int i) { if (densePart != null && densePart.get(i)) { densePart.clear(i); if (densePart.nextSetBit(0) == -1) { densePart = null; } return true; } else if (sparsePart.contains(i)) { sparsePart.remove(i); return true; } else { return false; } }
/** * Remove an integer from this set. * * @param i integer to remove * @return true iff the value of this changes. */ @Override public boolean remove(int i) { if (densePart != null && densePart.get(i)) { densePart.clear(i); if (densePart.nextSetBit(0) == -1) { densePart = null; } return true; } else if (sparsePart.contains(i)) { sparsePart.remove(i); return true; } else { return false; } }
/** * @return true iff this set contains integer i */ @Override public boolean containsAny(IntSet set) { if (set == null) { throw new IllegalArgumentException("null set"); } if (!sparsePart.isEmpty() && sparsePart.containsAny(set)) { return true; } else if (densePart != null) { int lower = densePart.getOffset(); for (IntIterator is = set.intIterator(); is.hasNext();) { int i = is.next(); if (i < lower) continue; if (densePart.get(i)) { return true; } } } return false; }
/** * Remove an integer from this set. * * @param i integer to remove * @return true iff the value of this changes. */ @Override public boolean remove(int i) { if (densePart != null && densePart.get(i)) { densePart.clear(i); if (densePart.nextSetBit(0) == -1) { densePart = null; } return true; } else if (sparsePart.contains(i)) { sparsePart.remove(i); return true; } else { return false; } }
/** * @return true iff this set contains integer i */ @Override public boolean containsAny(IntSet set) { if (set == null) { throw new IllegalArgumentException("null set"); } if (!sparsePart.isEmpty() && sparsePart.containsAny(set)) { return true; } else if (densePart != null) { int lower = densePart.getOffset(); for (IntIterator is = set.intIterator(); is.hasNext();) { int i = is.next(); if (i < lower) continue; if (densePart.get(i)) { return true; } } } return false; }
/** * Add an integer value to this set. * * @param i integer to add * @return true iff the value of this changes. */ @Override public boolean add(int i) { if (densePart != null && inDenseRange(i)) { if (!densePart.get(i)) { densePart.set(i); assert assertDisjoint() : this.toString(); return true; } } else if (!sparsePart.contains(i)) { sparsePart.add(i); assert assertDisjoint() : this.toString(); fixAfterSparseInsert(); return true; } return false; }
/** * Add an integer value to this set. * * @param i integer to add * @return true iff the value of this changes. */ @Override public boolean add(int i) { if (densePart != null && inDenseRange(i)) { if (!densePart.get(i)) { densePart.set(i); assert assertDisjoint() : this.toString(); return true; } } else if (!sparsePart.contains(i)) { sparsePart.add(i); assert assertDisjoint() : this.toString(); fixAfterSparseInsert(); return true; } return false; }
/** * Add an integer value to this set. * * @param i integer to add * @return true iff the value of this changes. */ @Override public boolean add(int i) { if (densePart != null && inDenseRange(i)) { if (!densePart.get(i)) { densePart.set(i); assert assertDisjoint() : this.toString(); return true; } } else if (!sparsePart.contains(i)) { sparsePart.add(i); assert assertDisjoint() : this.toString(); fixAfterSparseInsert(); return true; } return false; }