Package io.deephaven.vector
Class ByteVectorDirect
java.lang.Object
io.deephaven.vector.ByteVectorDirect
- All Implemented Interfaces:
LongSizedDataStructure,ByteVector,Vector<ByteVector>,Serializable,Comparable<ByteVector>,Iterable<Byte>
A
ByteVector backed by an array.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.vector.ByteVector
ByteVector.Indirect -
Field Summary
FieldsFields inherited from interface io.deephaven.vector.Vector
NULL_ELEMENT_STRING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintCompare this vector with another vector.byte[]Get an array representation of the elements of this Vector.booleanbyteget(long index) Get the element of this ByteVector at offsetindex.inthashCode()iterator(long fromIndexInclusive, long toIndexExclusive) Returns an iterator over a slice of this vector, with equivalent semantics tosubVector(fromIndexInclusive, toIndexExclusive).iterator().longsize()The size of this data structure.subVector(long fromIndexInclusive, long toIndexExclusive) Get a Vector that represents a slice of this Vector.subVectorByPositions(long[] positions) Get a Vector that represents a set of offset positions in this Vector.byte[]toArray()Get an array representation of the elements of this Vector.toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.vector.ByteVector
getComponentType, iterator, toStringMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface io.deephaven.util.datastructures.LongSizedDataStructure
intSize, intSize
-
Field Details
-
ZERO_LENGTH_VECTOR
-
-
Constructor Details
-
ByteVectorDirect
public ByteVectorDirect(@NotNull @org.jetbrains.annotations.NotNull byte... data)
-
-
Method Details
-
get
public byte get(long index) Description copied from interface:ByteVectorGet the element of this ByteVector at offsetindex. Ifindexis not within range[0, size()), will return thenull byte.- Specified by:
getin interfaceByteVector- Parameters:
index- An offset into this ByteVector- Returns:
- The element at the specified offset, or the
null byte
-
subVector
Description copied from interface:VectorGet a Vector that represents a slice of this Vector.- Specified by:
subVectorin interfaceByteVector- Specified by:
subVectorin interfaceVector<ByteVector>- Parameters:
fromIndexInclusive- The first offset into this Vector to include in the result; if negative, the result will have a range of null values at offsets in[0, -fromIndexInclusive)toIndexExclusive- The first offset into this Vector to not include in the result; if larger thansize(), the result will have a range of null values at the corresponding offsets- Returns:
- The sub-Vector specified by
[fromIndexInclusive, toIndexExclusive)
-
subVectorByPositions
Description copied from interface:VectorGet a Vector that represents a set of offset positions in this Vector.- Specified by:
subVectorByPositionsin interfaceByteVector- Specified by:
subVectorByPositionsin interfaceVector<ByteVector>- Parameters:
positions- The offsets to include; if not within[0, size()), the corresponding offset in the result will contain the appropriate null value- Returns:
- The sub-Vector specified by
positions
-
toArray
public byte[] toArray()Description copied from interface:VectorGet an array representation of the elements of this Vector. Callers must not mutate the result, as implementations may choose to return their backing array in some cases.- Specified by:
toArrayin interfaceByteVector- Specified by:
toArrayin interfaceVector<ByteVector>- Returns:
- An array representation of the elements of this Vector that must not be mutated
-
copyToArray
public byte[] copyToArray()Description copied from interface:VectorGet an array representation of the elements of this Vector. Callers may freely mutate the result, as it is guaranteed to be freshly-allocated and belongs to the caller upon return.- Specified by:
copyToArrayin interfaceByteVector- Specified by:
copyToArrayin interfaceVector<ByteVector>- Returns:
- An array representation of the elements of this Vector that may be freely mutated
-
iterator
Description copied from interface:ByteVectorReturns an iterator over a slice of this vector, with equivalent semantics tosubVector(fromIndexInclusive, toIndexExclusive).iterator().- Specified by:
iteratorin interfaceByteVector- Parameters:
fromIndexInclusive- The first position to includetoIndexExclusive- The first position afterfromIndexInclusiveto not include- Returns:
- An iterator over the requested slice
-
size
public long size()Description copied from interface:LongSizedDataStructureThe size of this data structure.- Specified by:
sizein interfaceLongSizedDataStructure- Returns:
- The size
-
getDirect
- Specified by:
getDirectin interfaceByteVector- Specified by:
getDirectin interfaceVector<ByteVector>- Returns:
- A version of this Vector that is flattened out to only reference memory
-
toString
-
equals
-
compareTo
Description copied from interface:ByteVectorCompare this vector with another vector.
The vectors are ordered lexicographically using Deephaven sorting rules.
- Specified by:
compareToin interfaceByteVector- Specified by:
compareToin interfaceComparable<ByteVector>
-
hashCode
public int hashCode()
-