Class BitString

java.lang.Object
net.cscott.jutil.BitString
All Implemented Interfaces:
Serializable, Cloneable

@Deprecated(since="2.0") public final class BitString extends Object implements Cloneable, Serializable
Deprecated.
Use BitSet, which grows as needed:
  • firstSet(where) is nextSetBit(where+1), and lastSet(where) is previousSetBit(where-1);
  • setUpTo(bit) is set(0, bit+1), and clearUpTo(bit) is clear(0, bit+1);
  • setAll() is set(0, n) for a size n; clearAll() is clear();
  • intersectionEmpty(o) is !intersects(o); isZero() is isEmpty();
  • copyBits(o) is clear() then or(o);
  • numberOfOnes() is cardinality(), and numberOfOnes(where) is get(0, where+1).cardinality();
  • or_upTo(o, bit) is or(o.get(0, bit+1)).
BitSet's and(), or() and xor() do not return whether they changed the set: compare its cardinality() before and after an and() or an or().
BitString implements a vector of bits ; much like BitSet... except that this implementation actually works. Also, BitString has some groovy features which BitSet doesn't; mostly related to efficient iteration over true and false components, I think. (That was true of the BitSet of Java 1.2. Since Java 7, BitSet works, and searches backward as well as forward.)

Each component of the BitString has a boolean value. The bits of a BitString are indexed by non-negative integers (that means they are zero-based, of course). Individual indexed bits can be examined, set, or cleared. One BitString may be used to modify the contents of another BitString through logical AND, logical inclusive OR, and logical exclusive OR operations.

By default, all bits in the set initially have the value false.

Every bit set has a current size, which is the number of bits of space currently in use by the bit set. Note that the size is related to the implementation of a bit set, so it may change with implementation. The length of a bit set related to the logical length of a bit set and is defined independently of implementation.

Author:
John Whaley <jwhaley@alum.mit.edu>
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    BitString(int nbits)
    Deprecated.
    Creates an empty string with the specified size.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Deprecated.
    Logically ANDs this bit set with the specified set of bits.
    void
    clear(int bit)
    Deprecated.
    Clears a bit.
    void
    Deprecated.
    Clears all bits.
    void
    clearUpTo(int bit)
    Deprecated.
    Clears all bits up to and including the given bit.
    Deprecated.
    Clones the BitString.
    void
    Deprecated.
    Copies the values of the bits in the specified set into this set.
    boolean
    Deprecated.
    Compares this object against the specified object.
    int
    Deprecated.
    Returns the first index in the bit string which is set, or -1 if there is no such index.
    int
    firstSet(int where)
    Deprecated.
    Returns the first index greater than where in the bit string which is set, or -1 if there is no such index.
    boolean
    get(int bit)
    Deprecated.
    Gets a bit.
    int
    Deprecated.
    Returns a hash code value for this bit string whose value depends only on which bits have been set within this BitString.
    boolean
    Deprecated.
    Check if the intersection of the two sets is empty
    boolean
    Deprecated.
     
    int
    Deprecated.
    Returns the last index in the bit string which is set, or -1 if there is no such index.
    int
    lastSet(int where)
    Deprecated.
    Returns the last index less than where in the bit string which is set, or -1 if there is no such index.
    int
    Deprecated.
    Returns the "logical size" of this BitString: the index of the highest set bit in the BitString plus one.
    int
    Deprecated.
     
    int
    numberOfOnes(int where)
    Deprecated.
     
    boolean
    Deprecated.
    Logically ORs this bit set with the specified set of bits.
    boolean
    or_upTo(BitString set, int bit)
    Deprecated.
    Logically ORs this bit set with the specified set of bits.
    void
    set(int bit)
    Deprecated.
    Sets a bit.
    void
    Deprecated.
    Sets all bits.
    void
    setUpTo(int bit)
    Deprecated.
    Sets all bits up to and including the given bit.
    int
    Deprecated.
    Returns the number of bits of space actually in use by this BitString to represent bit values.
    Deprecated.
    Converts the BitString to a String.
    boolean
    Deprecated.
    Logically XORs this bit set with the specified set of bits.

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • BitString

      public BitString(int nbits)
      Deprecated.
      Creates an empty string with the specified size.
      Parameters:
      nbits - the size of the string
  • Method Details

    • firstSet

      public int firstSet()
      Deprecated.
      Returns the first index in the bit string which is set, or -1 if there is no such index.
    • firstSet

      public int firstSet(int where)
      Deprecated.
      Returns the first index greater than where in the bit string which is set, or -1 if there is no such index.
      Parameters:
      where - the starting point for the search. May be negative.
    • lastSet

      public int lastSet(int where)
      Deprecated.
      Returns the last index less than where in the bit string which is set, or -1 if there is no such index.
      Parameters:
      where - the starting point for the search.
    • lastSet

      public int lastSet()
      Deprecated.
      Returns the last index in the bit string which is set, or -1 if there is no such index.
    • setAll

      public void setAll()
      Deprecated.
      Sets all bits.
    • setUpTo

      public void setUpTo(int bit)
      Deprecated.
      Sets all bits up to and including the given bit.
      Parameters:
      bit - the bit to be set up to (zero-based)
    • set

      public void set(int bit)
      Deprecated.
      Sets a bit.
      Parameters:
      bit - the bit to be set (zero-based)
    • clearAll

      public void clearAll()
      Deprecated.
      Clears all bits.
    • clearUpTo

      public void clearUpTo(int bit)
      Deprecated.
      Clears all bits up to and including the given bit.
      Parameters:
      bit - the bit to be set up to (zero-based)
    • clear

      public void clear(int bit)
      Deprecated.
      Clears a bit.
      Parameters:
      bit - the bit to be cleared (zero-based)
    • get

      public boolean get(int bit)
      Deprecated.
      Gets a bit.
      Parameters:
      bit - the bit to be gotten (zero-based)
    • and

      public boolean and(BitString set)
      Deprecated.
      Logically ANDs this bit set with the specified set of bits. Returns true if this was modified in response to the operation.
      Parameters:
      set - the bit set to be ANDed with
    • or

      public boolean or(BitString set)
      Deprecated.
      Logically ORs this bit set with the specified set of bits. Returns true if this was modified in response to the operation.
      Parameters:
      set - the bit set to be ORed with
    • or_upTo

      public boolean or_upTo(BitString set, int bit)
      Deprecated.
      Logically ORs this bit set with the specified set of bits. Returns true if this was modified in response to the operation.
      Parameters:
      set - the bit set to be ORed with
    • xor

      public boolean xor(BitString set)
      Deprecated.
      Logically XORs this bit set with the specified set of bits. Returns true if this was modified in response to the operation.
      Parameters:
      set - the bit set to be XORed with
    • intersectionEmpty

      public boolean intersectionEmpty(BitString other)
      Deprecated.
      Check if the intersection of the two sets is empty
      Parameters:
      other - the set to check intersection with
    • copyBits

      public void copyBits(BitString set)
      Deprecated.
      Copies the values of the bits in the specified set into this set.
      Parameters:
      set - the bit set to copy the bits from
    • hashCode

      public int hashCode()
      Deprecated.
      Returns a hash code value for this bit string whose value depends only on which bits have been set within this BitString.
      Overrides:
      hashCode in class Object
    • length

      public int length()
      Deprecated.
      Returns the "logical size" of this BitString: the index of the highest set bit in the BitString plus one. Returns zero if the BitString contains no set bits.
    • size

      public int size()
      Deprecated.
      Returns the number of bits of space actually in use by this BitString to represent bit values. The maximum element in the set is the size - 1st element. The minimum element in the set is the zero'th element.
    • equals

      public boolean equals(Object obj)
      Deprecated.
      Compares this object against the specified object.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare with
      Returns:
      true if the contents of the bitsets are the same; false otherwise.
    • isZero

      public boolean isZero()
      Deprecated.
    • numberOfOnes

      public int numberOfOnes()
      Deprecated.
    • numberOfOnes

      public int numberOfOnes(int where)
      Deprecated.
    • clone

      public BitString clone()
      Deprecated.
      Clones the BitString.
      Overrides:
      clone in class Object
    • toString

      public String toString()
      Deprecated.
      Converts the BitString to a String.
      Overrides:
      toString in class Object