|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.lucene.search.DocIdSet
org.apache.lucene.util.FixedBitSet
public final class FixedBitSet
BitSet of fixed length (numBits), backed by accessible
(getBits()) long[], accessed with an int index,
implementing Bits and DocIdSet. Unlike OpenBitSet this bit set does not auto-expand, cannot
handle long index, and does not have fastXX/XX variants
(just X).
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.apache.lucene.util.Bits |
|---|
Bits.MatchAllBits, Bits.MatchNoBits |
| Field Summary |
|---|
| Fields inherited from class org.apache.lucene.search.DocIdSet |
|---|
EMPTY_DOCIDSET |
| Fields inherited from interface org.apache.lucene.util.Bits |
|---|
EMPTY_ARRAY |
| Constructor Summary | |
|---|---|
FixedBitSet(FixedBitSet other)
Makes full copy. |
|
FixedBitSet(int numBits)
|
|
FixedBitSet(long[] storedBits,
int numBits)
|
|
| Method Summary | |
|---|---|
void |
and(DocIdSetIterator iter)
Does in-place AND of the bits provided by the iterator. |
void |
and(FixedBitSet other)
this = this AND other |
void |
andNot(DocIdSetIterator iter)
Does in-place AND NOT of the bits provided by the iterator. |
void |
andNot(FixedBitSet other)
this = this AND NOT other |
Bits |
bits()
Optionally provides a Bits interface for random access
to matching documents. |
static int |
bits2words(int numBits)
returns the number of 64 bit words it would take to hold numBits |
int |
cardinality()
Returns number of set bits. |
void |
clear(int index)
|
void |
clear(int startIndex,
int endIndex)
Clears a range of bits. |
FixedBitSet |
clone()
|
boolean |
equals(Object o)
returns true if both sets have the same bits set |
void |
flip(int startIndex,
int endIndex)
Flips a range of bits |
boolean |
get(int index)
Returns the value of the bit with the specified index. |
boolean |
getAndClear(int index)
|
boolean |
getAndSet(int index)
|
long[] |
getBits()
Expert. |
int |
hashCode()
|
boolean |
isCacheable()
This DocIdSet implementation is cacheable. |
DocIdSetIterator |
iterator()
Provides a DocIdSetIterator to access the set. |
int |
length()
Returns the number of bits in this set |
int |
nextSetBit(int index)
Returns the index of the first set bit starting at the index specified. |
void |
or(DocIdSetIterator iter)
Does in-place OR of the bits provided by the iterator. |
void |
or(FixedBitSet other)
this = this OR other |
int |
prevSetBit(int index)
Returns the index of the last set bit before or on the index specified. |
void |
set(int index)
|
void |
set(int startIndex,
int endIndex)
Sets a range of bits |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public FixedBitSet(int numBits)
public FixedBitSet(long[] storedBits,
int numBits)
public FixedBitSet(FixedBitSet other)
| Method Detail |
|---|
public static int bits2words(int numBits)
public DocIdSetIterator iterator()
DocIdSetDocIdSetIterator to access the set.
This implementation can return null or
DocIdSet.EMPTY_DOCIDSET.iterator() if there
are no docs that match.
iterator in class DocIdSetpublic Bits bits()
DocIdSetBits interface for random access
to matching documents.
bits in class DocIdSetnull, if this DocIdSet does not support random access.
In contrast to DocIdSet.iterator(), a return value of null
does not imply that no documents match the filter!
The default implementation does not provide random access, so you
only need to implement this method if your DocIdSet can
guarantee random access to every docid in O(1) time without
external disk access (as Bits interface cannot throw
IOException). This is generally true for bit sets
like FixedBitSet, which return
itself if they are used as DocIdSet.public int length()
Bits
length in interface Bitspublic boolean isCacheable()
isCacheable in class DocIdSetpublic long[] getBits()
public int cardinality()
public boolean get(int index)
Bitsindex.
get in interface Bitsindex - index, should be non-negative and < Bits.length().
The result of passing negative or out of bounds values is undefined
by this interface, just don't do it!
true if the bit is set, false otherwise.public void set(int index)
public boolean getAndSet(int index)
public void clear(int index)
public boolean getAndClear(int index)
public int nextSetBit(int index)
public int prevSetBit(int index)
public void or(DocIdSetIterator iter)
throws IOException
IOExceptionpublic void or(FixedBitSet other)
public void and(DocIdSetIterator iter)
throws IOException
IOExceptionpublic void and(FixedBitSet other)
public void andNot(DocIdSetIterator iter)
throws IOException
IOExceptionpublic void andNot(FixedBitSet other)
public void flip(int startIndex,
int endIndex)
startIndex - lower indexendIndex - one-past the last bit to flip
public void set(int startIndex,
int endIndex)
startIndex - lower indexendIndex - one-past the last bit to set
public void clear(int startIndex,
int endIndex)
startIndex - lower indexendIndex - one-past the last bit to clearpublic FixedBitSet clone()
clone in class Objectpublic boolean equals(Object o)
equals in class Objectpublic int hashCode()
hashCode in class Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||