/** * Interset this with another set. */ @Override public void intersectWith(IntSet set) { sparsePart.intersectWith(set); if (densePart != null) { for (int b = densePart.nextSetBit(0); b != -1; b = densePart.nextSetBit(b + 1)) { if (!set.contains(b)) { densePart.clear(b); } } } }
/** * Interset this with another set. */ @Override public void intersectWith(IntSet set) { sparsePart.intersectWith(set); if (densePart != null) { for (int b = densePart.nextSetBit(0); b != -1; b = densePart.nextSetBit(b + 1)) { if (!set.contains(b)) { densePart.clear(b); } } } }
/** * Interset this with another set. */ @Override public void intersectWith(IntSet set) { sparsePart.intersectWith(set); if (densePart != null) { for (int b = densePart.nextSetBit(0); b != -1; b = densePart.nextSetBit(b + 1)) { if (!set.contains(b)) { densePart.clear(b); } } } }
/** * 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; } }
/** * 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; } }
OffsetBitVector newDensePart = new OffsetBitVector(A.densePart); for (IntIterator bits = B.sparsePart.intIterator(); bits.hasNext();) { newDensePart.clear(bits.next()); newDensePart.andNot(B.densePart); for (IntIterator bits = B.sparsePart.intIterator(); bits.hasNext();) { newDensePart.clear(bits.next());
OffsetBitVector newDensePart = new OffsetBitVector(A.densePart); for (IntIterator bits = B.sparsePart.intIterator(); bits.hasNext();) { newDensePart.clear(bits.next()); newDensePart.andNot(B.densePart); for (IntIterator bits = B.sparsePart.intIterator(); bits.hasNext();) { newDensePart.clear(bits.next());
OffsetBitVector newDensePart = new OffsetBitVector(A.densePart); for (IntIterator bits = B.sparsePart.intIterator(); bits.hasNext();) { newDensePart.clear(bits.next()); newDensePart.andNot(B.densePart); for (IntIterator bits = B.sparsePart.intIterator(); bits.hasNext();) { newDensePart.clear(bits.next());