Package gnu.lists
Class BitVector
- java.lang.Object
-
- gnu.lists.AbstractSequence<E>
-
- gnu.lists.SimpleVector<Boolean>
-
- gnu.lists.BitVector
-
- All Implemented Interfaces:
BoundedHashable
,Array<Boolean>
,AVector<Boolean>
,Consumable
,GVector<Boolean>
,Sequence<Boolean>
,Externalizable
,Serializable
,Comparable
,Iterable<Boolean>
,Collection<Boolean>
,List<Boolean>
,RandomAccess
public class BitVector extends SimpleVector<Boolean> implements Comparable, GVector<Boolean>
Simple adjustable-length vector of Boolean values.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected static boolean[]
empty
-
Fields inherited from class gnu.lists.SimpleVector
COPY_ON_WRITE, GAP_FLAG, info, MAX_GAP_SIZE, READ_ONLY_FLAG, SHARED_FLAG, SUBRANGE_FLAG, VERY_SIMPLE_FLAG
-
Fields inherited from class gnu.lists.AbstractSequence
noInts
-
Fields inherited from interface gnu.lists.Sequence
ATTRIBUTE_VALUE, BOOLEAN_VALUE, CDATA_VALUE, CHAR_VALUE, COMMENT_VALUE, DOCUMENT_VALUE, DOUBLE_VALUE, ELEMENT_VALUE, EOF_VALUE, eofValue, FLOAT_VALUE, INT_S16_VALUE, INT_S32_VALUE, INT_S64_VALUE, INT_S8_VALUE, INT_U16_VALUE, INT_U32_VALUE, INT_U64_VALUE, INT_U8_VALUE, OBJECT_VALUE, PRIM_VALUE, PROCESSING_INSTRUCTION_VALUE, TEXT_BYTE_VALUE
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(boolean v)
static BitVector
cast(Object value)
static BitVector
castOrNull(Object obj)
protected void
clearBuffer(int start, int count)
int
compareTo(Object obj)
void
consumePosRange(int iposStart, int iposEnd, Consumer out)
void
copyBuffer(int length)
Boolean
get(int index)
See java.util.List.boolean
getBoolean(int index)
boolean
getBooleanRaw(int index)
boolean[]
getBuffer()
int
getBufferLength()
Get the allocated length of the data buffer.int
getElementKind()
Boolean
getRaw(int index)
Given an "effective index", return element as object.String
getTag()
This is convenience hack for printing "uniform vectors" (srfi 4).protected BitVector
newInstance(int newLength)
void
setBoolean(int index, boolean value)
void
setBooleanRaw(int index, boolean value)
protected void
setBuffer(Object buffer)
void
setRaw(int index, Boolean value)
Given an "effective index", set selected element.-
Methods inherited from class gnu.lists.SimpleVector
add, add, addPos, addSpace, asImmutable, checkCanWrite, delete, doCopyOnWrite, effectiveIndex, fill, forEach, gapReserve, gapReserveGeneric, getGapEnd, getGapSize, getGapStart, getOffsetBits, getRowMajor, getSegment, getSegment, getSegmentReadOnly, getSizeBits, isAfterPos, isGapBuffer, isReadOnly, isSubRange, isVerySimple, readExternal, setGapBounds, setGapBounds, setInfoField, setReadOnly, shift, size, toDataArray, vsize, writeExternal
-
Methods inherited from class gnu.lists.AbstractSequence
addAll, addAll, badRank, boundedHash, checkRank, clear, compare, compare, compare, consume, consume, consumeNext, contains, containsAll, copyPos, createPos, createRelativePos, effectiveIndex, effectiveIndex, effectiveIndex, effectiveIndex, elements, endPos, equals, equals, fill, fillPosRange, firstAttributePos, firstChildPos, firstChildPos, fromEndIndex, get, get, get, get, getAttribute, getAttributeLength, getByteRaw, getCharRaw, getContainingSequenceSize, getDoubleRaw, getFloatRaw, getIndexDifference, getInt, getInt, getInt, getInt, getInt, getIntRaw, getIterator, getIterator, getIteratorAtPos, getLongRaw, getLowBound, getNextKind, getNextTypeName, getNextTypeObject, getPosNext, getPosPrevious, getShortRaw, getSize, getSize, gotoAttributesStart, gotoChildrenStart, gotoParent, hashCode, hasNext, hasPrevious, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, nextIndex, nextIndex, nextMatching, nextPos, parentPos, previousPos, rank, releasePos, remove, remove, removeAll, removePos, removePosRange, retainAll, set, set, setAt, setPosNext, setPosPrevious, stableCompare, startPos, subList, subSequence, subSequencePos, toArray, toArray, toString, toString, unsupported, unsupportedException
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gnu.lists.Array
asImmutable, effectiveIndex, effectiveIndex, effectiveIndex, effectiveIndex, effectiveIndex, get, get, get, get, getByteRaw, getCharRaw, getDoubleRaw, getFloatRaw, getInt, getInt, getInt, getInt, getInt, getIntRaw, getLongRaw, getLowBound, getRowMajor, getShortRaw, getSize, getSize, isEmpty, rank, set
-
Methods inherited from interface gnu.kawa.util.BoundedHashable
boundedHash
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface gnu.lists.Consumable
consume
-
Methods inherited from interface java.util.List
add, add, addAll, addAll, clear, contains, containsAll, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, sort, spliterator, subList, toArray, toArray
-
-
-
-
Constructor Detail
-
BitVector
public BitVector()
-
BitVector
public BitVector(int size, boolean value)
-
BitVector
public BitVector(int size)
-
BitVector
public BitVector(boolean[] data)
Reuses the argument without making a copy.
-
BitVector
public BitVector(boolean[] values, int offset, int length)
Makes a copy of (part of) the argument array.
-
-
Method Detail
-
getBufferLength
public int getBufferLength()
Get the allocated length of the data buffer.- Specified by:
getBufferLength
in classSimpleVector<Boolean>
-
copyBuffer
public void copyBuffer(int length)
- Specified by:
copyBuffer
in classSimpleVector<Boolean>
-
getBuffer
public boolean[] getBuffer()
- Specified by:
getBuffer
in classSimpleVector<Boolean>
-
setBuffer
protected void setBuffer(Object buffer)
- Specified by:
setBuffer
in classSimpleVector<Boolean>
-
getBoolean
public final boolean getBoolean(int index)
-
getBooleanRaw
public final boolean getBooleanRaw(int index)
- Specified by:
getBooleanRaw
in interfaceArray<Boolean>
- Overrides:
getBooleanRaw
in classAbstractSequence<Boolean>
-
get
public final Boolean get(int index)
Description copied from interface:Sequence
See java.util.List.
-
getRaw
public final Boolean getRaw(int index)
Description copied from interface:Array
Given an "effective index", return element as object.
-
setBoolean
public final void setBoolean(int index, boolean value)
-
setBooleanRaw
public final void setBooleanRaw(int index, boolean value)
-
setRaw
public final void setRaw(int index, Boolean value)
Description copied from class:AbstractSequence
Given an "effective index", set selected element.
-
add
public void add(boolean v)
-
clearBuffer
protected void clearBuffer(int start, int count)
- Specified by:
clearBuffer
in classSimpleVector<Boolean>
-
newInstance
protected BitVector newInstance(int newLength)
- Specified by:
newInstance
in classSimpleVector<Boolean>
-
getElementKind
public int getElementKind()
- Specified by:
getElementKind
in interfaceArray<Boolean>
- Overrides:
getElementKind
in classAbstractSequence<Boolean>
-
getTag
public String getTag()
Description copied from class:SimpleVector
This is convenience hack for printing "uniform vectors" (srfi 4). It may go away without notice!- Overrides:
getTag
in classSimpleVector<Boolean>
-
consumePosRange
public void consumePosRange(int iposStart, int iposEnd, Consumer out)
- Overrides:
consumePosRange
in classAbstractSequence<Boolean>
-
compareTo
public int compareTo(Object obj)
- Specified by:
compareTo
in interfaceComparable
-
-