Package org.apache.lucene.util
Class LongBitSet
java.lang.Object
org.apache.lucene.util.LongBitSet
BitSet of fixed length (numBits), backed by accessible (
getBits())
long[], accessed with a long index. Use it only if you intend to store more
than 2.1B bits, otherwise you should use FixedBitSet.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidand(LongBitSet other) this = this AND othervoidandNot(LongBitSet other) this = this AND NOT otherstatic intbits2words(long numBits) returns the number of 64 bit words it would take to hold numBitslongReturns number of set bits.voidclear(long index) voidclear(long startIndex, long endIndex) Clears a range of bits.clone()static LongBitSetensureCapacity(LongBitSet bits, long numBits) If the givenLongBitSetis large enough to holdnumBits, returns the given bits, otherwise returns a newLongBitSetwhich can hold the requested number of bits.booleanreturns true if both sets have the same bits setvoidflip(long startIndex, long endIndex) Flips a range of bitsbooleanget(long index) booleangetAndClear(long index) booleangetAndSet(long index) long[]getBits()Expert.inthashCode()booleanintersects(LongBitSet other) returns true if the sets have any elements in commonlonglength()Returns the number of bits stored in this bitset.longnextSetBit(long index) Returns the index of the first set bit starting at the index specified.voidor(LongBitSet other) this = this OR otherlongprevSetBit(long index) Returns the index of the last set bit before or on the index specified.voidset(long index) voidset(long startIndex, long endIndex) Sets a range of bitsvoidxor(LongBitSet other) this = this XOR other
-
Constructor Details
-
LongBitSet
public LongBitSet(long numBits) -
LongBitSet
public LongBitSet(long[] storedBits, long numBits)
-
-
Method Details
-
ensureCapacity
If the givenLongBitSetis large enough to holdnumBits, returns the given bits, otherwise returns a newLongBitSetwhich can hold the requested number of bits.NOTE: the returned bitset reuses the underlying
long[]of the givenbitsif possible. Also, callinglength()on the returned bits may return a value greater thannumBits. -
bits2words
public static int bits2words(long numBits) returns the number of 64 bit words it would take to hold numBits -
length
public long length()Returns the number of bits stored in this bitset. -
getBits
public long[] getBits()Expert. -
cardinality
public long cardinality()Returns number of set bits. NOTE: this visits every long in the backing bits array, and the result is not internally cached! -
get
public boolean get(long index) -
set
public void set(long index) -
getAndSet
public boolean getAndSet(long index) -
clear
public void clear(long index) -
getAndClear
public boolean getAndClear(long index) -
nextSetBit
public long nextSetBit(long index) Returns the index of the first set bit starting at the index specified. -1 is returned if there are no more set bits. -
prevSetBit
public long prevSetBit(long index) Returns the index of the last set bit before or on the index specified. -1 is returned if there are no more set bits. -
or
this = this OR other -
xor
this = this XOR other -
intersects
returns true if the sets have any elements in common -
and
this = this AND other -
andNot
this = this AND NOT other -
flip
public void flip(long startIndex, long endIndex) Flips a range of bits- Parameters:
startIndex- lower indexendIndex- one-past the last bit to flip
-
set
public void set(long startIndex, long endIndex) Sets a range of bits- Parameters:
startIndex- lower indexendIndex- one-past the last bit to set
-
clear
public void clear(long startIndex, long endIndex) Clears a range of bits.- Parameters:
startIndex- lower indexendIndex- one-past the last bit to clear
-
clone
-
equals
returns true if both sets have the same bits set -
hashCode
public int hashCode()
-