Class Long4

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

public class Long4 extends Object implements LongTuple
An immutable type containing four primitive longs.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final long
    The W component of this tuple.
    protected final long
    The X component of this tuple.
    protected final long
    The Y component of this tuple.
    protected final long
    The Z component of this tuple.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Long4(long[] components)
    Creates a new Long4.
    Long4(long w, long x, long y, long z)
    Creates a new Long4.
    Creates a new Long4.
  • 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.
    long
    w()
    Returns the W component of this tuple.
    long
    x()
    Returns the X component of this tuple.
    long
    y()
    Returns the Y component of this tuple.
    long
    z()
    Returns the Z component of this tuple.

    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
  • Field Details

    • w

      protected final long w
      The W component of this tuple.
    • x

      protected final long x
      The X component of this tuple.
    • y

      protected final long y
      The Y component of this tuple.
    • z

      protected final long z
      The Z component of this tuple.
  • Constructor Details

    • Long4

      public Long4(long w, long x, long y, long z)
      Creates a new Long4.
      Parameters:
      w - The W component of this tuple
      x - The X component of this tuple
      y - The Y component of this tuple
      z - The Z component of this tuple
    • Long4

      public Long4(@Nonnull long[] components)
      Creates a new Long4.
      Parameters:
      components - An array containing the components of this tuple in XYZ order
      Throws:
      IllegalArgumentException - When the provided array's length is not 4
    • Long4

      public Long4(@Nonnull LongTuple t)
      Creates a new Long4.
      Parameters:
      t - The tuple of which to copy component values from
      Throws:
      IllegalArgumentException - When the provided tuple t's size is not 4
  • 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 component to get
      Returns:
      The ith component of this tuple
      Throws:
      IndexOutOfBoundsException - When the index i is out of bounds
    • w

      public long w()
      Returns the W component of this tuple.
      Returns:
      The W component of this tuple
    • x

      public long x()
      Returns the X component of this tuple.
      Returns:
      The X component of this tuple
    • y

      public long y()
      Returns the Y component of this tuple.
      Returns:
      The Y component of this tuple
    • z

      public long z()
      Returns the Z component of this tuple.
      Returns:
      The Z component of this tuple
    • map

      @Nonnull public Long4 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 component 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 component 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