|
FlexDoc/Javadoc 2.0 Demo Java Doc |
By default, all bits in the set initially have the value false.
Every bit set has a current size, which is the number of bits of space currently in use by the bit set. Note that the size is related to the implementation of a bit set, so it may change with implementation. The length of a bit set relates to logical length of a bit set and is defined independently of implementation.
Unless otherwise noted, passing a null parameter to any of the methods in a BitSet will result in a NullPointerException.
A BitSet is not safe for multithreaded use without external synchronization.
Constructor Summary |
||
BitSet()
Creates a new bit set.
|
||
BitSet(int nbits)
Creates a bit set whose initial size is large enough to explicitly
represent bits with indices in the range 0 through
nbits-1.
|
Method Summary |
||
void |
Performs a logical AND of this target bit set with the
argument bit set.
|
|
void |
Clears all of the bits in this BitSet whose corresponding
bit is set in the specified BitSet.
|
|
int |
Returns the number of bits set to true in this BitSet.
|
|
void |
clear()
Sets all of the bits in this BitSet to false.
|
|
void |
clear(int bitIndex)
Sets the bit specified by the index to false.
|
|
void |
clear(int fromIndex, int toIndex)
Sets the bits from the specified fromIndex (inclusive) to the
specified toIndex (exclusive) to false.
|
|
clone()
Cloning this BitSet produces a new BitSet
that is equal to it.
|
||
boolean |
Compares this object against the specified object.
|
|
void |
flip(int bitIndex)
Sets the bit at the specified index to the complement of its
current value.
|
|
void |
flip(int fromIndex, int toIndex)
Sets each bit from the specified fromIndex (inclusive) to the
specified toIndex (exclusive) to the complement of its current
value.
|
|
boolean |
get(int bitIndex)
Returns the value of the bit with the specified index.
|
|
get(int fromIndex, int toIndex)
Returns a new BitSet composed of bits from this BitSet
from fromIndex (inclusive) to toIndex (exclusive).
|
||
int |
hashCode()
Returns the hash code value for this bit set.
|
|
boolean |
intersects(BitSet set)
Returns true if the specified BitSet has any bits set to
true that are also set to true in this BitSet.
|
|
boolean |
isEmpty()
Returns true if this BitSet contains no bits that are set
to true.
|
|
int |
length()
Returns the "logical size" of this BitSet: the index of
the highest set bit in the BitSet plus one.
|
|
int |
nextClearBit(int fromIndex)
Returns the index of the first bit that is set to false
that occurs on or after the specified starting index.
|
|
int |
nextSetBit(int fromIndex)
Returns the index of the first bit that is set to true
that occurs on or after the specified starting index.
|
|
void |
Performs a logical OR of this bit set with the bit set
argument.
|
|
int |
previousClearBit(int fromIndex)
Returns the index of the nearest bit that is set to false
that occurs on or before the specified starting index.
|
|
int |
previousSetBit(int fromIndex)
Returns the index of the nearest bit that is set to true
that occurs on or before the specified starting index.
|
|
void |
set(int bitIndex)
Sets the bit at the specified index to true.
|
|
void |
set(int bitIndex, boolean value)
Sets the bit at the specified index to the specified value.
|
|
void |
set(int fromIndex, int toIndex)
Sets the bits from the specified fromIndex (inclusive) to the
specified toIndex (exclusive) to true.
|
|
void |
set(int fromIndex, int toIndex, boolean value)
Sets the bits from the specified fromIndex (inclusive) to the
specified toIndex (exclusive) to the specified value.
|
|
int |
size()
Returns the number of bits of space actually in use by this
BitSet to represent bit values.
|
|
stream()
Returns a stream of indices for which this BitSet
contains a bit in the set state.
|
||
byte[] |
Returns a new byte array containing all the bits in this bit set.
|
|
long[] |
Returns a new long array containing all the bits in this bit set.
|
|
toString()
Returns a string representation of this bit set.
|
||
static BitSet |
valueOf(byte[] bytes)
Returns a new bit set containing all the bits in the given byte array.
|
|
static BitSet |
valueOf(ByteBuffer bb)
Returns a new bit set containing all the bits in the given byte
buffer between its position and limit.
|
|
static BitSet |
valueOf(long[] longs)
Returns a new bit set containing all the bits in the given long array.
|
|
static BitSet |
valueOf(LongBuffer lb)
Returns a new bit set containing all the bits in the given long
buffer between its position and limit.
|
|
void |
Performs a logical XOR of this bit set with the bit set
argument.
|
Methods inherited from class java.lang.Object |
public BitSet |
() |
public BitSet |
(int nbits) |
public static BitSet valueOf |
(long[] longs) |
More precisely,
BitSet.valueOf(longs).get(n) == ((longs[n/64] & (1L<<(n%64))) != 0)
for all n < 64 * longs.length.
This method is equivalent to BitSet.valueOf(LongBuffer.wrap(longs)).
public static BitSet valueOf |
(LongBuffer lb) |
More precisely,
BitSet.valueOf(lb).get(n) == ((lb.get(lb.position()+n/64) & (1L<<(n%64))) != 0)
for all n < 64 * lb.remaining().
The long buffer is not modified by this method, and no reference to the buffer is retained by the bit set.
public static BitSet valueOf |
(byte[] bytes) |
More precisely,
BitSet.valueOf(bytes).get(n) == ((bytes[n/8] & (1<<(n%8))) != 0)
for all n < 8 * bytes.length.
This method is equivalent to BitSet.valueOf(ByteBuffer.wrap(bytes)).
public static BitSet valueOf |
(ByteBuffer bb) |
More precisely,
BitSet.valueOf(bb).get(n) == ((bb.get(bb.position()+n/8) & (1<<(n%8))) != 0)
for all n < 8 * bb.remaining().
The byte buffer is not modified by this method, and no reference to the buffer is retained by the bit set.
public byte[] toByteArray |
() |
More precisely, if
byte[] bytes = s.toByteArray();
then bytes.length == (s.length()+7)/8 and
s.get(n) == ((bytes[n/8] & (1<<(n%8))) != 0)
for all n < 8 * bytes.length.
public long[] toLongArray |
() |
More precisely, if
long[] longs = s.toLongArray();
then longs.length == (s.length()+63)/64 and
s.get(n) == ((longs[n/64] & (1L<<(n%64))) != 0)
for all n < 64 * longs.length.
public void flip |
(int bitIndex) |
public void flip |
(int fromIndex, int toIndex) |
public void set |
(int bitIndex) |
public void set |
(int bitIndex, boolean value) |
public void set |
(int fromIndex, int toIndex) |
public void set |
(int fromIndex, int toIndex, boolean value) |
public void clear |
(int bitIndex) |
public void clear |
(int fromIndex, int toIndex) |
public void clear |
() |
public boolean get |
(int bitIndex) |
public BitSet get |
(int fromIndex, int toIndex) |
public int nextSetBit |
(int fromIndex) |
To iterate over the true bits in a BitSet, use the following loop:
for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i+1)) {
// operate on index i here
if (i == Integer.MAX_VALUE) {
break; // or (i+1) would overflow
}
}
public int nextClearBit |
(int fromIndex) |
public int previousSetBit |
(int fromIndex) |
To iterate over the true bits in a BitSet, use the following loop:
for (int i = bs.length(); (i = bs.previousSetBit(i-1)) >= 0; ) {
// operate on index i here
}
public int previousClearBit |
(int fromIndex) |
public int length |
() |
public boolean isEmpty |
() |
public boolean intersects |
(BitSet set) |
public int cardinality |
() |
public void and |
(BitSet set) |
public void or |
(BitSet set) |
public void xor |
(BitSet set) |
public void andNot |
(BitSet set) |
public int hashCode |
() |
The hash code is defined to be the result of the following calculation:
public int hashCode() {
long h = 1234;
long[] words = toLongArray();
for (int i = words.length; --i >= 0; )
h ^= words[i] * (i + 1);
return (int)((h >> 32) ^ h);
}
Note that the hash code changes if the set of bits is altered.
public int size |
() |
public boolean equals |
(Object obj) |
((BitSet)obj).get(k) == this.get(k)must be true. The current sizes of the two bit sets are not compared.
public Object clone |
() |
public String toString |
() |
Example:
BitSet drPepper = new BitSet();Now drPepper.toString() returns "{}".
drPepper.set(2);Now drPepper.toString() returns "{2}".
drPepper.set(4); drPepper.set(10);Now drPepper.toString() returns "{2, 4, 10}".
public IntStream stream |
() |
The stream binds to this bit set when the terminal stream operation commences (specifically, the spliterator for the stream is late-binding). If the bit set is modified during that operation then the result is undefined.
|
FlexDoc/Javadoc 2.0 Demo Java Doc |