Class FixedSizeBitSet

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

public class FixedSizeBitSet extends 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

    Constructors
    Constructor
    Description
    FixedSizeBitSet(int size)
    Creates a bit set whose initial size is the range 0 through size-1.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    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.
    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
     
    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 Details

    • 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:
      NegativeArraySizeException - if the specified initial size is negative
  • Method Details

    • set

      public void set(int index)
      Sets the bit at the specified index to true.
      Parameters:
      index - a bit index.
      Throws:
      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:
      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:
      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:
      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:
      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()
    • toString

      public 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 Object
      Returns:
      a string representation of this bit set.