Class LongArrayTuple

java.lang.Object
civitas.celestis.util.tuple.LongArrayTuple
All Implemented Interfaces:
BaseTuple<Long>, LongTuple, Serializable

public class LongArrayTuple extends Object implements LongTuple
An array-based tuple which holds an arbitrary element of type long.
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    LongArrayTuple(long... elements)
    Creates a new array tuple.
    Creates a new array tuple.
  • Method Summary

    Modifier and Type
    Method
    Description
    long[]
    Returns an array containing the components of this tuple in their proper order.
    Returns a tuple containing the components of this tuple in their boxed form.
    boolean
    contains(long v)
    Checks if this tuple contains the provided value v.
    boolean
    Checks if this tuple contains multiple values.
    boolean
    Checks for equality between this tuple and the provided object obj.
    long
    get(int i)
    Returns the ith component of this tuple.
    int
    Returns the hash code of this instance.
    boolean
    Returns whether this tuple represents zero.
    Returns an unmodifiable list containing the components of this tuple in their proper order.
    Applies the provided mapper function f to each component of this tuple, then returns a new tuple containing the return values of the function f.
    <F> Tuple<F>
    mapToObj(LongFunction<? extends F> f)
    Applies the provided mapper function f to each component of this tuple, then returns a new tuple containing the return values of the function f.
    int
    Returns the size of this tuple.
    Returns a stream whose source is the elements of this tuple.
    Serializes this tuple into a string.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface civitas.celestis.util.tuple.LongTuple

    longArray
  • Constructor Details

    • LongArrayTuple

      public LongArrayTuple(@Nonnull long... elements)
      Creates a new array tuple.
      Parameters:
      elements - The elements this tuple should contain
    • LongArrayTuple

      public LongArrayTuple(@Nonnull LongTuple t)
      Creates a new array tuple.
      Parameters:
      t - The tuple of which to copy elements from
  • Method Details

    • size

      public int size()
      Returns the size of this tuple. (the number of components it has)
      Specified by:
      size in interface BaseTuple<Long>
      Specified by:
      size in interface LongTuple
      Returns:
      The number of components this tuple has
    • isZero

      public boolean isZero()
      Returns whether this tuple represents zero. (whether every component is zero)
      Specified by:
      isZero in interface LongTuple
      Returns:
      true if every component of this tuple is zero
    • contains

      public boolean contains(long v)
      Checks if this tuple contains the provided value v.
      Specified by:
      contains in interface LongTuple
      Parameters:
      v - The value of which to check for containment
      Returns:
      true if at least one component of this tuple is equal to the provided value v
    • containsAll

      public boolean containsAll(@Nonnull Iterable<Long> i)
      Checks if this tuple contains multiple values.
      Specified by:
      containsAll in interface LongTuple
      Parameters:
      i - The iterable object of which to check for containment
      Returns:
      true if this tuple contains every component of the iterable object
    • get

      public long get(int i) throws IndexOutOfBoundsException
      Returns the ith component of this tuple.
      Specified by:
      get in interface LongTuple
      Parameters:
      i - The index of the element to get
      Returns:
      The ith component of this tuple
      Throws:
      IndexOutOfBoundsException - When the index i is out of bounds
    • map

      @Nonnull public LongTuple map(@Nonnull LongUnaryOperator f)
      Applies the provided mapper function f to each component of this tuple, then returns a new tuple containing the return values of the function f.
      Specified by:
      map in interface LongTuple
      Parameters:
      f - The function of which to apply to each element of this tuple
      Returns:
      The resulting tuple
    • mapToObj

      @Nonnull public <F> Tuple<F> mapToObj(@Nonnull LongFunction<? extends F> f)
      Applies the provided mapper function f to each component of this tuple, then returns a new tuple containing the return values of the function f.
      Specified by:
      mapToObj in interface LongTuple
      Type Parameters:
      F - The type of component to map this tuple to
      Parameters:
      f - The function of which to apply to each element of this tuple
      Returns:
      The resulting tuple
    • array

      @Nonnull public long[] array()
      Returns an array containing the components of this tuple in their proper order.
      Specified by:
      array in interface LongTuple
      Returns:
      The array representation of this tuple
    • stream

      @Nonnull public LongStream stream()
      Returns a stream whose source is the elements of this tuple.
      Specified by:
      stream in interface LongTuple
      Returns:
      A stream whose source is the elements of this tuple
      See Also:
    • list

      @Nonnull public List<Long> list()
      Returns an unmodifiable list containing the components of this tuple in their proper order.
      Specified by:
      list in interface BaseTuple<Long>
      Specified by:
      list in interface LongTuple
      Returns:
      The list representation of this tuple
      See Also:
    • boxed

      @Nonnull public Tuple<Long> boxed()
      Returns a tuple containing the components of this tuple in their boxed form.
      Specified by:
      boxed in interface LongTuple
      Returns:
      The boxed object representation of this tuple
      See Also:
    • equals

      public boolean equals(@Nullable Object obj)
      Checks for equality between this tuple and the provided object obj.
      Specified by:
      equals in interface LongTuple
      Overrides:
      equals in class Object
      Parameters:
      obj - The object to compare to
      Returns:
      true if the other object is also a long tuple, and the number of components, the order of the components, and the components' values are all equal
    • toString

      @Nonnull public String toString()
      Serializes this tuple into a string.
      Specified by:
      toString in interface LongTuple
      Overrides:
      toString in class Object
      Returns:
      The string representation of this tuple
    • hashCode

      public int hashCode()
      Returns the hash code of this instance.
      Overrides:
      hashCode in class Object
      Returns:
      The hash code of this instance