Class AbstractBitVector.SubBitVector

All Implemented Interfaces:
BitVector, BigList<Boolean>, BooleanBigList, BooleanCollection, BooleanIterable, BooleanStack, Size64, Stack<Boolean>, Comparable<BigList<? extends Boolean>>, Iterable<Boolean>, Collection<Boolean>, RandomAccess
Enclosing class:
AbstractBitVector

public static class AbstractBitVector.SubBitVector
extends AbstractBitVector
implements BitVector
A subvector of a given bit vector, specified by an initial and a final bit.
  • Field Details

  • Constructor Details

  • Method Details

    • getBoolean

      public boolean getBoolean​(long index)
      Specified by:
      getBoolean in interface BooleanBigList
    • getInt

      public int getInt​(long index)
      Description copied from interface: BitVector
      Returns the value of the specified bit as an integer.

      This method is a useful synonym for BooleanBigList.getBoolean(long).

      Specified by:
      getInt in interface BitVector
      Overrides:
      getInt in class AbstractBitVector
      Parameters:
      index - the index of a bit.
      Returns:
      the value of the specified bit as an integer (0 or 1).
    • set

      public boolean set​(long index, boolean value)
      Specified by:
      set in interface BooleanBigList
      Overrides:
      set in class AbstractBitVector
    • set

      public void set​(long index, int value)
      Description copied from interface: BitVector
      Sets the value of the specified bit as an integer (optional operation).

      This method is a useful synonym for BooleanBigList.set(long, boolean).

      Specified by:
      set in interface BitVector
      Overrides:
      set in class AbstractBitVector
      Parameters:
      index - the index of a bit.
      value - the new value (any nonzero integer for setting the bit, zero for clearing the bit).
    • add

      public void add​(long index, boolean value)
      Specified by:
      add in interface BooleanBigList
      Overrides:
      add in class AbstractBitVector
    • add

      public void add​(long index, int value)
      Description copied from interface: BitVector
      Adds a bit with specified integer value at the specified index (optional operation).

      This method is a useful synonym for BooleanBigList.add(long, boolean).

      Specified by:
      add in interface BitVector
      Overrides:
      add in class AbstractBitVector
      Parameters:
      index - the index of a bit.
      value - the value that will be inserted at position index (any nonzero integer for a true bit, zero for a false bit).
    • add

      public void add​(int value)
      Description copied from interface: BitVector
      Adds a bit with specified value at the end of this bit vector.

      This method is a useful synonym for BooleanList.add(boolean).

      Specified by:
      add in interface BitVector
      Overrides:
      add in class AbstractBitVector
      Parameters:
      value - the new value (any nonzero integer for a true bit, zero for a false bit).
    • removeBoolean

      public boolean removeBoolean​(long index)
      Specified by:
      removeBoolean in interface BooleanBigList
      Overrides:
      removeBoolean in class AbstractBitVector
    • copy

      public BitVector copy​(long from, long to)
      Description copied from interface: BitVector
      Returns a copy of a part of this bit vector.
      Specified by:
      copy in interface BitVector
      Overrides:
      copy in class AbstractBitVector
      Parameters:
      from - the starting bit, inclusive.
      to - the ending bit, not inclusive.
      Returns:
      a copy of the part of this bit vector going from bit from (inclusive) to bit to (not inclusive)
    • subVector

      public BitVector subVector​(long from, long to)
      Description copied from interface: BitVector
      Returns a subvector view specified by initial and final index.

      The object returned by this method is a bit vector representing a view of this bit vector restricted to the given indices. Changes to the subvector will be reflected in the main vector.

      Specified by:
      subVector in interface BitVector
      Overrides:
      subVector in class AbstractBitVector
      Parameters:
      from - the first index (inclusive).
      to - the last index (not inclusive).
    • getLong

      public long getLong​(long from, long to)
      Description copied from interface: BitVector
      Returns the specified bit range as a long.

      Note that bit 0 of the returned long will be bit from of this bit vector.

      Implementations are invited to provide high-speed implementations for the case in which from is a multiple of Long.SIZE and to is from + Long.SIZE (or less, in case the vector length is exceeded). This behaviour make it possible to implement high-speed hashing, copies, etc.

      Specified by:
      getLong in interface BitVector
      Overrides:
      getLong in class AbstractBitVector
      Parameters:
      from - the starting bit (inclusive).
      to - the ending bit (exclusive).
      Returns:
      the long value contained in the specified bits.
    • length

      public long length()
      Description copied from interface: BitVector
      Returns the number of bits in this bit vector.

      If the number of bits in this vector is smaller than or equal to Integer.MAX_VALUE, this method is semantically equivalent to List.size(). In any case, this method is semantically equivalent to Size64.size64(), but it is prefererred.

      Specified by:
      length in interface BitVector
      Returns:
      the number of bits in this bit vector.
    • size64

      public long size64()
      Description copied from class: AbstractBitVector

      This implementation just returns BitVector.length().

      Specified by:
      size64 in interface Size64
      Overrides:
      size64 in class AbstractBitVector