public interface BitSet
java.util.BitSet
is that DirectBitSet has a rigid logicalSize(),
attempts to get(long), set(long) or clear(long) bits at indices
exceeding the size cause IndexOutOfBoundsException. There is also
a setAll() method to set all bits within the size.
java.util.BitSet doesn't have such rigid capacity.BitSet| Modifier and Type | Interface and Description |
|---|---|
static interface |
BitSet.Bits
An iteration of bits in a bit set.
|
| Modifier and Type | Field and Description |
|---|---|
static long |
NOT_FOUND
Returned if no entry is found
|
| Modifier and Type | Method and Description |
|---|---|
long |
cardinality()
Returns the number of bits set to
true in this DirectBitSet. |
void |
clear(long bitIndex)
Sets the bit specified by the index to
false. |
void |
clearAll()
Sets all of the bits in this BitSet to
false. |
boolean |
clearIfSet(long bitIndex)
Clears the bit at the specified index (sets it to
false). |
long |
clearNextNContinuousSetBits(long fromIndex,
int numberOfBits)
Finds the next
numberOfBits consecutive bits set to true,
starting from the specified fromIndex. |
long |
clearNextSetBit(long fromIndex)
Finds and clears the first bit that is set to
true
that occurs on or after the specified starting index. |
long |
clearPreviousNContinuousSetBits(long fromIndex,
int numberOfBits)
Finds the previous
numberOfBits consecutive bits
set to true, starting from the specified fromIndex. |
long |
clearPreviousSetBit(long fromIndex)
Finds and clears the nearest bit that is set to
true
that occurs on or before the specified starting index. |
void |
clearRange(long fromIndex,
long toIndex)
Sets the bits from the specified
fromIndex (inclusive) to the
specified toIndex (exclusive) to false. |
void |
flip(long bitIndex)
Sets the bit at the specified index to the complement of its
current value.
|
void |
flipRange(long fromIndex,
long toIndex)
Sets each bit from the specified
fromIndex (inclusive) to the
specified toIndex (exclusive) to the complement of its current
value. |
boolean |
get(long bitIndex)
Returns the value of the bit with the specified index.
|
default boolean |
isClear(long bitIndex)
Synonym of
!get(long). |
boolean |
isRangeClear(long fromIndex,
long toIndex) |
boolean |
isRangeSet(long fromIndex,
long toIndex) |
default boolean |
isSet(long bitIndex)
Synonym of
get(long). |
long |
logicalSize()
Returns the number of bits of space actually in use by this BitSet to represent bit values.
|
long |
nextClearBit(long fromIndex)
Returns the index of the first bit that is set to
false
that occurs on or after the specified starting index. |
long |
nextSetBit(long fromIndex)
Returns the index of the first bit that is set to
true
that occurs on or after the specified starting index. |
long |
previousClearBit(long fromIndex)
Returns the index of the nearest bit that is set to
false
that occurs on or before the specified starting index. |
long |
previousSetBit(long fromIndex)
Returns the index of the nearest bit that is set to
true
that occurs on or before the specified starting index. |
void |
set(long bitIndex)
Sets the bit at the specified index to
true. |
default void |
set(long bitIndex,
boolean value)
Sets the bit at the specified index to the specified value.
|
void |
setAll()
Sets all bits,
bs.setAll() is equivalent
of bs.set(0, bs.size(). |
BitSet.Bits |
setBits()
Returns an iteration of set bits in direct order
(from 0 to the end of the bit set).
|
boolean |
setIfClear(long bitIndex)
Sets the bit at the specified index to
true. |
long |
setNextClearBit(long fromIndex)
Finds and sets to
true the first bit that is set to false
that occurs on or after the specified starting index. |
long |
setNextNContinuousClearBits(long fromIndex,
int numberOfBits)
Finds the next
numberOfBits consecutive bits set to false,
starting from the specified fromIndex. |
long |
setPreviousClearBit(long fromIndex)
Finds and sets to
true the nearest bit that is set
to false that occurs on or before the specified starting index. |
long |
setPreviousNContinuousClearBits(long fromIndex,
int numberOfBits)
Finds the previous
numberOfBits consecutive bits
set to false, starting from the specified fromIndex. |
void |
setRange(long fromIndex,
long toIndex)
Sets the bits from the specified
fromIndex (inclusive) to the
specified toIndex (exclusive) to true. |
default void |
setRange(long fromIndex,
long toIndex,
boolean value)
Sets the bits from the specified
fromIndex (inclusive) to the
specified toIndex (exclusive) to the specified value. |
static final long NOT_FOUND
void flip(long bitIndex)
bitIndex - the index of the bit to flipIndexOutOfBoundsException - if the index is out of range
(index < 0 || index >= size())void flipRange(long fromIndex,
long toIndex)
fromIndex (inclusive) to the
specified toIndex (exclusive) to the complement of its current
value.fromIndex - index of the first bit to fliptoIndex - index after the last bit to flipIndexOutOfBoundsException - if fromIndex is negative,
or fromIndex is larger than toIndex,
or toIndex is larger or equal to size()void set(long bitIndex)
true.bitIndex - a bit indexIndexOutOfBoundsException - if the index is out of range
(index < 0 || index >= size())boolean setIfClear(long bitIndex)
true.bitIndex - a bit indexIndexOutOfBoundsException - if the index is out of range
(index < 0 || index >= size())boolean clearIfSet(long bitIndex)
false).bitIndex - a bit indexIndexOutOfBoundsException - if the index is out of range
(index < 0 || index >= size())default void set(long bitIndex,
boolean value)
bitIndex - a bit indexvalue - a boolean value to setIndexOutOfBoundsException - if the index is out of range
(index < 0 || index >= size())void setRange(long fromIndex,
long toIndex)
fromIndex (inclusive) to the
specified toIndex (exclusive) to true.fromIndex - index of the first bit to be settoIndex - index after the last bit to be setIndexOutOfBoundsException - if fromIndex is negative,
or fromIndex is larger than toIndex,
or toIndex is larger or equal to size()boolean isRangeSet(long fromIndex,
long toIndex)
void setAll()
bs.setAll() is equivalent
of bs.set(0, bs.size().default void setRange(long fromIndex,
long toIndex,
boolean value)
fromIndex (inclusive) to the
specified toIndex (exclusive) to the specified value.fromIndex - index of the first bit to be settoIndex - index after the last bit to be setvalue - value to set the selected bits toIndexOutOfBoundsException - if fromIndex is negative,
or fromIndex is larger than toIndex,
or toIndex is larger or equal to size()void clear(long bitIndex)
false.bitIndex - the index of the bit to be clearedIndexOutOfBoundsException - if the index is out of range
(index < 0 || index >= size())void clearRange(long fromIndex,
long toIndex)
fromIndex (inclusive) to the
specified toIndex (exclusive) to false.fromIndex - index of the first bit to be clearedtoIndex - index after the last bit to be clearedIndexOutOfBoundsException - if fromIndex is negative,
or fromIndex is larger than toIndex,
or toIndex is larger or equal to size()boolean isRangeClear(long fromIndex,
long toIndex)
void clearAll()
false.boolean get(long bitIndex)
true if the bit with the index bitIndex
is currently set in this DirectBitSet; otherwise, the result
is false.bitIndex - the bit indexIndexOutOfBoundsException - if the index is out of range
(index < 0 || index >= size())default boolean isSet(long bitIndex)
get(long).bitIndex - the bit indexIndexOutOfBoundsException - if the index is out of range
(index < 0 || index >= size())default boolean isClear(long bitIndex)
!get(long).bitIndex - the bit indextrue is the bit at the specified index is clear in this
bit set; if the bit is set to true then returns falseIndexOutOfBoundsException - if the index is out of range
(index < 0 || index >= size())long nextSetBit(long fromIndex)
true
that occurs on or after the specified starting index. If no such
bit exists then -1 is returned.
To iterate over the true bits in a DirectBitSet,
use the following loop:
for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i+1)) {
// operate on index i here
}fromIndex - the index to start checking from (inclusive)-1 if there
is no such bitIndexOutOfBoundsException - if the specified index is negativeclearNextSetBit(long)long nextClearBit(long fromIndex)
false
that occurs on or after the specified starting index. If no such
bit exists then -1 is returned.fromIndex - the index to start checking from (inclusive)-1 if there is no such bitIndexOutOfBoundsException - if the specified index is negativesetNextClearBit(long)long previousSetBit(long fromIndex)
true
that occurs on or before the specified starting index.
If no such bit exists, or if -1 is given as the
starting index, then -1 is returned.
To iterate over the true bits in a DirectBitSet,
use the following loop:
for (int i = bs.size(); (i = bs.previousSetBit(i-1)) >= 0; ) {
// operate on index i here
}fromIndex - the index to start checking from (inclusive)-1 if there
is no such bitIndexOutOfBoundsException - if the specified index is less
than -1clearPreviousSetBit(long)long previousClearBit(long fromIndex)
false
that occurs on or before the specified starting index.
If no such bit exists, or if -1 is given as the
starting index, then -1 is returned.fromIndex - the index to start checking from (inclusive)-1 if there
is no such bitIndexOutOfBoundsException - if the specified index is less
than -1setPreviousClearBit(long)long logicalSize()
size() - 1.long cardinality()
true in this DirectBitSet.true in this DirectBitSetlong setNextClearBit(long fromIndex)
true the first bit that is set to false
that occurs on or after the specified starting index. If no such
bit exists then -1 is returned.fromIndex - the index to start checking from (inclusive)-1 if there is no such bitIndexOutOfBoundsException - if the specified index is negativenextClearBit(long)long clearNextSetBit(long fromIndex)
true
that occurs on or after the specified starting index. If no such
bit exists then -1 is returned.fromIndex - the index to start checking from (inclusive)-1 if there
is no such bitIndexOutOfBoundsException - if the specified index is negativenextSetBit(long)long setPreviousClearBit(long fromIndex)
true the nearest bit that is set
to false that occurs on or before the specified starting index.
If no such bit exists, or if -1 is given as the
starting index, then -1 is returned.fromIndex - the index to start checking from (inclusive)-1 if there
is no such bitIndexOutOfBoundsException - if the specified index is less
than -1previousClearBit(long)long clearPreviousSetBit(long fromIndex)
true
that occurs on or before the specified starting index.
If no such bit exists, or if -1 is given as the
starting index, then -1 is returned.fromIndex - the index to start checking from (inclusive)-1 if there
is no such bitIndexOutOfBoundsException - if the specified index is less
than -1previousSetBit(long)long setNextNContinuousClearBits(long fromIndex,
int numberOfBits)
numberOfBits consecutive bits set to false,
starting from the specified fromIndex. Then all bits of the found
range are set to true. The first index of the found block
is returned. If there is no such range of clear bits, -1
is returned.
fromIndex could be the first index of the found range, thus
setNextNContinuousClearBits(i, 1) is exact equivalent of
setNextClearBit(i).
fromIndex - the index to start checking from (inclusive)numberOfBits - how many continuous clear bits to search and set-1 if there is no such rangeIndexOutOfBoundsException - if fromIndex is negativeIllegalArgumentException - if numberOfBits <= 0long clearNextNContinuousSetBits(long fromIndex,
int numberOfBits)
numberOfBits consecutive bits set to true,
starting from the specified fromIndex. Then all bits of the found
range are set to false. The first index of the found block
is returned. If there is no such range of true bits, -1
is returned.
fromIndex could be the first index of the found range, thus
clearNextNContinuousSetBits(i, 1) is exact equivalent of
clearNextSetBit(i).
fromIndex - the index to start checking from (inclusive)numberOfBits - how many continuous set bits to search and cleartrue bits, or -1 if there is no such rangeIndexOutOfBoundsException - if fromIndex is negativeIllegalArgumentException - if numberOfBits <= 0long setPreviousNContinuousClearBits(long fromIndex,
int numberOfBits)
numberOfBits consecutive bits
set to false, starting from the specified fromIndex.
Then all bits of the found range are set to true.
The first index of the found block is returned. If there is no such
range of clear bits, or if -1 is given as the starting index,
-1 is returned.
fromIndex could be the last index of the found range, thus
setPreviousNContinuousClearBits(i, 1) is exact equivalent of
setPreviousClearBit(i).
fromIndex - the index to start checking from (inclusive)numberOfBits - how many continuous clear bits to search and set-1 if there is no such rangeIndexOutOfBoundsException - if fromIndex is less
than -1IllegalArgumentException - if numberOfBits <= 0long clearPreviousNContinuousSetBits(long fromIndex,
int numberOfBits)
numberOfBits consecutive bits
set to true, starting from the specified fromIndex.
Then all bits of the found range are set to false.
The first index of the found block is returned. If there is no such
range of true bits, or if -1 is given as the starting
index, -1 is returned.
fromIndex could be the last index of the found range, thus
clearPreviousNContinuousSetBits(i, 1) is exact equivalent of
clearPreviousSetBit(i).
fromIndex - the index to start checking from (inclusive)numberOfBits - how many continuous set bits to search and cleartrue bits, or -1 if there is no such rangeIndexOutOfBoundsException - if fromIndex is less
than -1IllegalArgumentException - if numberOfBits <= 0BitSet.Bits setBits()
Copyright © 2018. All rights reserved.