org.jgroups.util

## Class FixedSizeBitSet

- java.lang.Object
- - 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

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`.
    `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()

    - #### 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-2009 Bela Ban / Red Hat. All Rights Reserved.