org.jgroups.util
Class FixedSizeBitSet

java.lang.Object
  extended by org.jgroups.util.FixedSizeBitSet

public class FixedSizeBitSet
extends java.lang.Object

Class copied from BitSet. Changes are that the FixedSizeBitSet doesn't expand, so access to it doesn't need to be synchronized, plus we only need a few methods so most methods of the old class have been removed.

Author:
Bela Ban

Constructor Summary
FixedSizeBitSet(int size)
          Creates a bit set whose initial size is the range 0 through size-1.
 
Method Summary
 int cardinality()
          Returns the number of bits set to true in this bit set
 void clear(int index)
          Sets the bit specified by the index to false.
 void flip()
          Flips all bits: 1 --> 0 and 0 --> 1
 boolean get(int index)
          Returns the value of the bit with the specified index.
 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 set(int index)
          Sets the bit at the specified index to true.
 int size()
           
 java.lang.String toString()
          Returns a string representation of this bit set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FixedSizeBitSet

public FixedSizeBitSet(int size)
Creates a bit set whose initial size is the range 0 through size-1. All bits are initially false.

Parameters:
size - the initial size of the bit set (in bits).
Throws:
java.lang.NegativeArraySizeException - if the specified initial size is negative
Method Detail

set

public void set(int index)
Sets the bit at the specified index to true.

Parameters:
index - a bit index.
Throws:
java.lang.IndexOutOfBoundsException - if the specified index is negative.

clear

public void clear(int index)
Sets the bit specified by the index to false.

Parameters:
index - the index of the bit to be cleared.
Throws:
java.lang.IndexOutOfBoundsException - if the specified index is negative.

get

public boolean get(int index)
Returns the value of the bit with the specified index. The value is true if the bit with the index index is currently set in this bit set; otherwise, the result is false.

Parameters:
index - the bit index.
Returns:
the value of the bit with the specified index.
Throws:
java.lang.IndexOutOfBoundsException - if the specified index is negative.

nextSetBit

public 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. If no such bit exists then -1 is returned.

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
 }

Parameters:
fromIndex - the index to start checking from (inclusive).
Returns:
the index of the next set bit.
Throws:
java.lang.IndexOutOfBoundsException - if the specified index is negative.

nextClearBit

public 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.

Parameters:
fromIndex - the index to start checking from (inclusive).
Returns:
the index of the next clear bit.
Throws:
java.lang.IndexOutOfBoundsException - if the specified index is negative.

cardinality

public int cardinality()
Returns the number of bits set to true in this bit set

Returns:
the number of bits set to true in this bit set

size

public int size()

flip

public void flip()
Flips all bits: 1 --> 0 and 0 --> 1


toString

public java.lang.String toString()
Returns a string representation of this bit set. For every index for which this BitSet contains a bit in the set state, the decimal representation of that index is included in the result. Such indices are listed in order from lowest to highest, separated by ", " (a comma and a space) and surrounded by braces, resulting in the usual mathematical notation for a set of integers.

Overrides the toString method of Object.

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}".

Overrides:
toString in class java.lang.Object
Returns:
a string representation of this bit set.


Copyright © 1998-2012 Bela Ban / Red Hat. All Rights Reserved.