java.util.BitSet
The BitSet class implements a bit field. Each element in a BitSet can be
on(1) or off(0). A BitSet is created with a given size and grows when this
size is exceeded. Growth is always rounded to a 64 bit boundary.
Summary
Public Constructors
Public Methods
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Public Constructors
public
BitSet()
Create a new BitSet with size equal to 64 bits
public
BitSet(int nbits)
Create a new BitSet with size equal to nbits. If nbits is not a multiple
of 64, then create a BitSet with size nbits rounded to the next closest
multiple of 64.
Parameters
nbits
| the size of the bit set |
Public Methods
public
void
and(BitSet bs)
Performs the logical AND of this BitSet with another BitSet.
public
void
andNot(BitSet bs)
Clears all bits in the receiver which are also set in the parameter
BitSet.
public
int
cardinality()
Returns the number of bits that are true in this bitset.
Returns
- the number of true bits in the set
public
void
clear()
Clears all the bits in this bitset.
public
void
clear(int pos1, int pos2)
Clears the bits starting from pos1 to pos2. Grows the BitSet if pos2 >
size.
Parameters
pos1
| beginning position |
pos2
| ending position |
public
void
clear(int pos)
Clears the bit at index pos. Grows the BitSet if pos > size.
Parameters
pos
| the index of the bit to clear |
public
Object
clone()
Create a copy of this BitSet
public
boolean
equals(Object obj)
Compares the argument to this BitSet and answer if they are equal. The
object must be an instance of BitSet with the same bits set.
Parameters
obj
| the BitSet object to compare |
Returns
- A boolean indicating whether or not this BitSet and obj are equal
public
void
flip(int pos1, int pos2)
Flips the bits starting from pos1 to pos2. Grows the BitSet if pos2 >
size.
Parameters
pos1
| beginning position |
pos2
| ending position |
public
void
flip(int pos)
Flips the bit at index pos. Grows the BitSet if pos > size.
Parameters
pos
| the index of the bit to flip |
public
boolean
get(int pos)
Retrieve the bit at index pos. Grows the BitSet if pos > size.
Parameters
pos
| the index of the bit to be retrieved |
Returns
true
if the bit at pos
is set,
false
otherwise
public
BitSet
get(int pos1, int pos2)
Retrieves the bits starting from pos1 to pos2 and returns back a new
bitset made of these bits. Grows the BitSet if pos2 > size.
Parameters
pos1
| beginning position |
pos2
| ending position |
public
int
hashCode()
Computes the hash code for this BitSet.
Returns
- The
int
representing the hash code for this bit
set.
public
boolean
intersects(BitSet bs)
Checks if these two bitsets have at least one bit set to true in the same
position.
Parameters
bs
| BitSet used to calculate intersect |
Returns
true
if bs intersects with this BitSet,
false
otherwise
public
boolean
isEmpty()
Returns true if all the bits in this bitset are set to false.
Returns
true
if the BitSet is empty, false
otherwise
public
int
length()
Returns the number of bits up to and including the highest bit set.
public
int
nextClearBit(int pos)
Returns the position of the first bit that is false on or after pos
Parameters
pos
| the starting position (inclusive) |
Returns
- the position of the next bit set to false, even if it is further
than this bitset's size.
public
int
nextSetBit(int pos)
Returns the position of the first bit that is true on or after pos
Parameters
pos
| the starting position (inclusive) |
Returns
- -1 if there is no bits that are set to true on or after pos.
public
void
or(BitSet bs)
Performs the logical OR of this BitSet with another BitSet.
public
void
set(int pos)
Sets the bit at index pos to 1. Grows the BitSet if pos > size.
Parameters
pos
| the index of the bit to set |
public
void
set(int pos, boolean val)
Sets the bit at index pos to the value. Grows the BitSet if pos > size.
Parameters
pos
| the index of the bit to set |
val
| value to set the bit |
public
void
set(int pos1, int pos2)
Sets the bits starting from pos1 to pos2. Grows the BitSet if pos2 >
size.
Parameters
pos1
| beginning position |
pos2
| ending position |
public
void
set(int pos1, int pos2, boolean val)
Sets the bits starting from pos1 to pos2 to the given boolean value.
Grows the BitSet if pos2 > size.
Parameters
pos1
| beginning position |
pos2
| ending position |
val
| value to set these bits |
public
int
size()
Returns the number of bits this bitset has.
Returns
- The number of bits contained in this BitSet.
public
String
toString()
Returns a string containing a concise, human-readable description of the
receiver.
Returns
- A comma delimited list of the indices of all bits that are set.
public
void
xor(BitSet bs)
Performs the logical XOR of this BitSet with another BitSet.