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
-
Nested Class Summary
Nested classes/interfaces inherited from class it.unimi.dsi.bits.AbstractBitVector
AbstractBitVector.LongBigListView, AbstractBitVector.LongSetView, AbstractBitVector.SubBitVector
Nested classes/interfaces inherited from class it.unimi.dsi.fastutil.booleans.AbstractBooleanBigList
AbstractBooleanBigList.BooleanRandomAccessSubList, AbstractBooleanBigList.BooleanSubList
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(int value) Adds a bit with specified value at the end of this bit vector.void
add
(long index, boolean value) void
add
(long index, int value) Adds a bit with specified integer value at the specified index (optional operation).Returns a view of this bit vector as a sorted set of long integers.copy
(long from, long to) Returns a copy of a part of this bit vector.boolean
getBoolean
(long index) int
getInt
(long index) Returns the value of the specified bit as an integer.long
getLong
(long from, long to) Returns the specified bit range as a long.long
length()
Returns the number of bits in this bit vector.boolean
removeBoolean
(long index) boolean
set
(long index, boolean value) void
set
(long index, int value) Sets the value of the specified bit as an integer (optional operation).long
size64()
subVector
(long from, long to) Returns a subvector view specified by initial and final index.Methods inherited from class it.unimi.dsi.bits.AbstractBitVector
add, add, and, append, append, asLongBigList, bits, clear, clear, clear, compareTo, compareTo, copy, count, ensureIndex, ensureRestrictedIndex, equals, equals, fast, fill, fill, fill, fill, firstOne, firstZero, flip, flip, flip, flip, getBoolean, hashCode, isPrefix, isProperPrefix, lastOne, lastZero, length, longestCommonPrefixLength, nextOne, nextZero, or, previousOne, previousZero, removeBoolean, replace, set, set, set, size, size, subVector, toString, xor
Methods inherited from class it.unimi.dsi.fastutil.booleans.AbstractBooleanBigList
add, addAll, addAll, addAll, addAll, addElements, addElements, contains, forEach, get, getElements, indexOf, indexOf, iterator, lastIndexOf, lastIndexOf, listIterator, listIterator, peek, peekBoolean, pop, popBoolean, push, push, rem, remove, removeElements, set, setElements, subList, top, topBoolean
Methods inherited from class it.unimi.dsi.fastutil.booleans.AbstractBooleanCollection
add, contains, containsAll, containsAll, remove, removeAll, removeAll, retainAll, retainAll, toArray, toBooleanArray, toBooleanArray
Methods inherited from class java.util.AbstractCollection
isEmpty, toArray, toArray
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface it.unimi.dsi.bits.BitVector
and, append, append, asLongBigList, bits, clear, copy, count, equals, fast, fill, fill, fill, fill, firstOne, firstZero, flip, flip, flip, hashCode, isPrefix, isProperPrefix, lastOne, lastZero, length, longestCommonPrefixLength, nextOne, nextZero, or, previousOne, previousZero, replace, set, size, subVector, xor
Methods inherited from interface it.unimi.dsi.fastutil.booleans.BooleanBigList
add, addAll, addAll, addAll, addAll, addAll, addElements, addElements, get, getElements, getElements, indexOf, indexOf, iterator, lastIndexOf, lastIndexOf, listIterator, listIterator, remove, removeElements, set, setElements, setElements, setElements, spliterator, subList
Methods inherited from interface it.unimi.dsi.fastutil.booleans.BooleanCollection
add, add, addAll, contains, contains, containsAll, rem, remove, removeAll, removeIf, removeIf, retainAll, toArray, toBooleanArray, toBooleanArray
Methods inherited from interface it.unimi.dsi.fastutil.booleans.BooleanIterable
forEach, forEach
Methods inherited from interface java.util.Collection
addAll, clear, containsAll, equals, isEmpty, parallelStream, removeAll, retainAll, stream, toArray, toArray, toArray
Methods inherited from interface java.lang.Comparable
compareTo
-
Field Details
-
bitVector
The underlying bit vector. -
from
protected final long fromThe initial bit (inclusive). -
to
protected long toThe final bit (not inclusive).
-
-
Constructor Details
-
SubBitVector
-
-
Method Details
-
getBoolean
public boolean getBoolean(long index) - Specified by:
getBoolean
in interfaceBooleanBigList
-
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 interfaceBitVector
- Overrides:
getInt
in classAbstractBitVector
- 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 interfaceBooleanBigList
- Overrides:
set
in classAbstractBitVector
-
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 interfaceBitVector
- Overrides:
set
in classAbstractBitVector
- 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 interfaceBooleanBigList
- Overrides:
add
in classAbstractBitVector
-
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 interfaceBitVector
- Overrides:
add
in classAbstractBitVector
- Parameters:
index
- the index of a bit.value
- the value that will be inserted at positionindex
(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 interfaceBitVector
- Overrides:
add
in classAbstractBitVector
- 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 interfaceBooleanBigList
- Overrides:
removeBoolean
in classAbstractBitVector
-
copy
Description copied from interface:BitVector
Returns a copy of a part of this bit vector.- Specified by:
copy
in interfaceBitVector
- Overrides:
copy
in classAbstractBitVector
- 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 bitto
(not inclusive)
-
subVector
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 interfaceBitVector
- Overrides:
subVector
in classAbstractBitVector
- Parameters:
from
- the first index (inclusive).to
- the last index (not inclusive).- Returns:
- a subvector view specified by initial and final index.
-
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 ofLong.SIZE
andto
isfrom
+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 interfaceBitVector
- Overrides:
getLong
in classAbstractBitVector
- Parameters:
from
- the starting bit (inclusive).to
- the ending bit (exclusive).- Returns:
- the long value contained in the specified bits.
-
asLongSet
Description copied from interface:BitVector
Returns a view of this bit vector as a sorted set of long integers.More formally, this bit vector is infinitely extended to the left with zeros (e.g., all bits beyond
BitVector.length(long)
are considered zeroes). The resulting infinite string is interpreted as the characteristic function of a set of integers.Note that, in particular, the resulting string representation is exactly that of a
BitSet
.- Specified by:
asLongSet
in interfaceBitVector
- Overrides:
asLongSet
in classAbstractBitVector
- Returns:
- a view of this bit vector as a sorted set of long integers.
-
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 bit vector is smaller than or equal to
Integer.MAX_VALUE
, this method is semantically equivalent toList.size()
. In any case, this method is semantically equivalent toSize64.size64()
, but it is prefererred. -
size64
public long size64()Description copied from class:AbstractBitVector
- Specified by:
size64
in interfaceSize64
- Overrides:
size64
in classAbstractBitVector
-