Package io.deephaven.vector
Interface ByteVector
- All Superinterfaces:
Iterable<Byte>
,LongSizedDataStructure
,Serializable
,Vector<ByteVector>
- All Known Implementing Classes:
ByteRingBufferVectorWrapper
,ByteSegmentedSortedMultiset
,ByteSubVector
,ByteVector.Indirect
,ByteVectorColumnWrapper
,ByteVectorDirect
,ByteVectorSlice
A
Vector
of primitive bytes.-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic class
Base class for all "indirect" ByteVector implementations. -
Field Summary
Fields inherited from interface io.deephaven.vector.Vector
NULL_ELEMENT_STRING
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
byteValToString
(Object val) byte[]
Get an array representation of the elements of this Vector.static boolean
equals
(@NotNull ByteVector aVector, @Nullable Object bObj) Helper method for implementingObject.equals(Object)
.byte
get
(long index) Get the element of this ByteVector at offsetindex
.default Class<?>
static int
hashCode
(@NotNull ByteVector vector) Helper method for implementingObject.hashCode()
.default CloseablePrimitiveIteratorOfByte
iterator()
default CloseablePrimitiveIteratorOfByte
iterator
(long fromIndexInclusive, long toIndexExclusive) Returns an iterator over a slice of this vector, with equivalent semantics tosubVector(fromIndexInclusive, toIndexExclusive).iterator()
.static String
primitiveByteValToString
(byte val) 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.default String
toString
(int prefixLength) Get a String representation of a prefix of this Vector.static String
toString
(@NotNull ByteVector vector, int prefixLength) Helper method for implementingObject.toString()
.static PrimitiveVectorType<ByteVector,
Byte> type()
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface io.deephaven.util.datastructures.LongSizedDataStructure
intSize, intSize, size
-
Field Details
-
serialVersionUID
static final long serialVersionUID- See Also:
-
-
Method Details
-
type
-
get
byte get(long index) Get the element of this ByteVector at offsetindex
. Ifindex
is not within range[0, size())
, will return thenull byte
.- Parameters:
index
- An offset into this ByteVector- Returns:
- The element at the specified offset, or the
null byte
-
subVector
Description copied from interface:Vector
Get a Vector that represents a slice of this Vector.- Specified by:
subVector
in 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:Vector
Get a Vector that represents a set of offset positions in this Vector.- Specified by:
subVectorByPositions
in 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
byte[] toArray()Description copied from interface:Vector
Get 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:
toArray
in interfaceVector<ByteVector>
- Returns:
- An array representation of the elements of this Vector that must not be mutated
-
copyToArray
byte[] copyToArray()Description copied from interface:Vector
Get 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:
copyToArray
in interfaceVector<ByteVector>
- Returns:
- An array representation of the elements of this Vector that may be freely mutated
-
getDirect
ByteVector getDirect()- Specified by:
getDirect
in interfaceVector<ByteVector>
- Returns:
- A version of this Vector that is flattened out to only reference memory
-
iterator
-
iterator
Returns an iterator over a slice of this vector, with equivalent semantics tosubVector(fromIndexInclusive, toIndexExclusive).iterator()
.- Parameters:
fromIndexInclusive
- The first position to includetoIndexExclusive
- The first position afterfromIndexInclusive
to not include- Returns:
- An iterator over the requested slice
-
getComponentType
- Specified by:
getComponentType
in interfaceVector<ByteVector>
- Returns:
- The type of elements contained by this Vector
-
toString
Description copied from interface:Vector
Get a String representation of a prefix of this Vector.- Specified by:
toString
in interfaceVector<ByteVector>
- Parameters:
prefixLength
- The number of elements to include- Returns:
- The specified prefix String representation
-
byteValToString
-
primitiveByteValToString
-
toString
Helper method for implementingObject.toString()
.- Parameters:
vector
- The ByteVector to convert to a StringprefixLength
- The maximum prefix ofvector
to convert- Returns:
- The String representation of
vector
-
equals
Helper method for implementingObject.equals(Object)
.- Parameters:
aVector
- The LHS of the equality test (always a ByteVector)bObj
- The RHS of the equality test- Returns:
- Whether the two inputs are equal
-
hashCode
Helper method for implementingObject.hashCode()
. Follows the pattern inArrays.hashCode(byte[])
.- Parameters:
vector
- The ByteVector to hash- Returns:
- The hash code
-