Class ObjectVectorDirect<COMPONENT_TYPE>

java.lang.Object
io.deephaven.vector.ObjectVectorDirect<COMPONENT_TYPE>
All Implemented Interfaces:
LongSizedDataStructure, ObjectVector<COMPONENT_TYPE>, Vector<ObjectVector<COMPONENT_TYPE>>, Serializable, Iterable<COMPONENT_TYPE>

public final class ObjectVectorDirect<COMPONENT_TYPE> extends Object implements ObjectVector<COMPONENT_TYPE>
An ObjectVector backed by an array.
See Also:
  • Field Details

    • ZERO_LENGTH_VECTOR

      public static final ObjectVector<?> ZERO_LENGTH_VECTOR
  • Constructor Details

    • ObjectVectorDirect

      public ObjectVectorDirect(@NotNull @NotNull COMPONENT_TYPE... data)
  • Method Details

    • empty

      public static <COMPONENT_TYPE> ObjectVector<COMPONENT_TYPE> empty()
    • get

      public COMPONENT_TYPE get(long index)
      Description copied from interface: ObjectVector
      Get the element of this ObjectVector at offset index. If index is not within range [0, size()), will return null.
      Specified by:
      get in interface ObjectVector<COMPONENT_TYPE>
      Parameters:
      index - An offset into this ObjectVector
      Returns:
      The element at the specified offset, or null
    • subVector

      public ObjectVector<COMPONENT_TYPE> subVector(long fromIndexInclusive, long toIndexExclusive)
      Description copied from interface: Vector
      Get a Vector that represents a slice of this Vector.
      Specified by:
      subVector in interface ObjectVector<COMPONENT_TYPE>
      Specified by:
      subVector in interface Vector<COMPONENT_TYPE>
      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 than size(), the result will have a range of null values at the corresponding offsets
      Returns:
      The sub-Vector specified by [fromIndexInclusive, toIndexExclusive)
    • subVectorByPositions

      public ObjectVector<COMPONENT_TYPE> subVectorByPositions(long[] positions)
      Description copied from interface: Vector
      Get a Vector that represents a set of offset positions in this Vector.
      Specified by:
      subVectorByPositions in interface ObjectVector<COMPONENT_TYPE>
      Specified by:
      subVectorByPositions in interface Vector<COMPONENT_TYPE>
      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 COMPONENT_TYPE[] 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 interface ObjectVector<COMPONENT_TYPE>
      Specified by:
      toArray in interface Vector<COMPONENT_TYPE>
      Returns:
      An array representation of the elements of this Vector that must not be mutated
    • copyToArray

      public COMPONENT_TYPE[] 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 interface ObjectVector<COMPONENT_TYPE>
      Specified by:
      copyToArray in interface Vector<COMPONENT_TYPE>
      Returns:
      An array representation of the elements of this Vector that may be freely mutated
    • iterator

      public CloseableIterator<COMPONENT_TYPE> iterator(long fromIndexInclusive, long toIndexExclusive)
      Description copied from interface: ObjectVector
      Returns an iterator over a slice of this ObjectVector, with equivalent semantics to subVector(fromIndexInclusive, toIndexExclusive).iterator().
      Specified by:
      iterator in interface ObjectVector<COMPONENT_TYPE>
      Parameters:
      fromIndexInclusive - The first position to include
      toIndexExclusive - The first position after fromIndexInclusive to not include
      Returns:
      An iterator over the requested slice
    • size

      public long size()
      Description copied from interface: LongSizedDataStructure
      The size of this data structure.
      Specified by:
      size in interface LongSizedDataStructure
      Returns:
      The size
    • getComponentType

      public Class<COMPONENT_TYPE> getComponentType()
      Specified by:
      getComponentType in interface ObjectVector<COMPONENT_TYPE>
      Specified by:
      getComponentType in interface Vector<COMPONENT_TYPE>
      Returns:
      The type of elements contained by this Vector
    • getDirect

      public ObjectVectorDirect<COMPONENT_TYPE> getDirect()
      Specified by:
      getDirect in interface ObjectVector<COMPONENT_TYPE>
      Specified by:
      getDirect in interface Vector<COMPONENT_TYPE>
      Returns:
      A version of this Vector that is flattened out to only reference memory
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object