Package io.vavr

Class Tuple5<T1,​T2,​T3,​T4,​T5>

  • Type Parameters:
    T1 - type of the 1st element
    T2 - type of the 2nd element
    T3 - type of the 3rd element
    T4 - type of the 4th element
    T5 - type of the 5th element
    All Implemented Interfaces:
    Tuple, java.io.Serializable, java.lang.Comparable<Tuple5<T1,​T2,​T3,​T4,​T5>>

    public final class Tuple5<T1,​T2,​T3,​T4,​T5>
    extends java.lang.Object
    implements Tuple, java.lang.Comparable<Tuple5<T1,​T2,​T3,​T4,​T5>>, java.io.Serializable
    A tuple of 5 elements which can be seen as cartesian product of 5 components.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      T1 _1
      The 1st element of this tuple.
      T2 _2
      The 2nd element of this tuple.
      T3 _3
      The 3rd element of this tuple.
      T4 _4
      The 4th element of this tuple.
      T5 _5
      The 5th element of this tuple.
    • Constructor Summary

      Constructors 
      Constructor Description
      Tuple5​(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
      Constructs a tuple of 5 elements.
    • Method Summary

      Modifier and Type Method Description
      T1 _1()
      Getter of the 1st element of this tuple.
      T2 _2()
      Getter of the 2nd element of this tuple.
      T3 _3()
      Getter of the 3rd element of this tuple.
      T4 _4()
      Getter of the 4th element of this tuple.
      T5 _5()
      Getter of the 5th element of this tuple.
      <T6> Tuple6<T1,​T2,​T3,​T4,​T5,​T6> append​(T6 t6)
      Append a value to this tuple.
      <U> U apply​(Function5<? super T1,​? super T2,​? super T3,​? super T4,​? super T5,​? extends U> f)
      Transforms this tuple to an object of type U.
      int arity()
      Returns the number of elements of this tuple.
      static <T1,​T2,​T3,​T4,​T5>
      java.util.Comparator<Tuple5<T1,​T2,​T3,​T4,​T5>>
      comparator​(java.util.Comparator<? super T1> t1Comp, java.util.Comparator<? super T2> t2Comp, java.util.Comparator<? super T3> t3Comp, java.util.Comparator<? super T4> t4Comp, java.util.Comparator<? super T5> t5Comp)  
      int compareTo​(Tuple5<T1,​T2,​T3,​T4,​T5> that)  
      <T6> Tuple6<T1,​T2,​T3,​T4,​T5,​T6> concat​(Tuple1<T6> tuple)
      Concat a tuple's values to this tuple.
      <T6,​T7>
      Tuple7<T1,​T2,​T3,​T4,​T5,​T6,​T7>
      concat​(Tuple2<T6,​T7> tuple)
      Concat a tuple's values to this tuple.
      <T6,​T7,​T8>
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>
      concat​(Tuple3<T6,​T7,​T8> tuple)
      Concat a tuple's values to this tuple.
      boolean equals​(java.lang.Object o)  
      int hashCode()  
      <U1,​U2,​U3,​U4,​U5>
      Tuple5<U1,​U2,​U3,​U4,​U5>
      map​(Function5<? super T1,​? super T2,​? super T3,​? super T4,​? super T5,​Tuple5<U1,​U2,​U3,​U4,​U5>> mapper)
      Maps the components of this tuple using a mapper function.
      <U1,​U2,​U3,​U4,​U5>
      Tuple5<U1,​U2,​U3,​U4,​U5>
      map​(java.util.function.Function<? super T1,​? extends U1> f1, java.util.function.Function<? super T2,​? extends U2> f2, java.util.function.Function<? super T3,​? extends U3> f3, java.util.function.Function<? super T4,​? extends U4> f4, java.util.function.Function<? super T5,​? extends U5> f5)
      Maps the components of this tuple using a mapper function for each component.
      <U> Tuple5<U,​T2,​T3,​T4,​T5> map1​(java.util.function.Function<? super T1,​? extends U> mapper)
      Maps the 1st component of this tuple to a new value.
      <U> Tuple5<T1,​U,​T3,​T4,​T5> map2​(java.util.function.Function<? super T2,​? extends U> mapper)
      Maps the 2nd component of this tuple to a new value.
      <U> Tuple5<T1,​T2,​U,​T4,​T5> map3​(java.util.function.Function<? super T3,​? extends U> mapper)
      Maps the 3rd component of this tuple to a new value.
      <U> Tuple5<T1,​T2,​T3,​U,​T5> map4​(java.util.function.Function<? super T4,​? extends U> mapper)
      Maps the 4th component of this tuple to a new value.
      <U> Tuple5<T1,​T2,​T3,​T4,​U> map5​(java.util.function.Function<? super T5,​? extends U> mapper)
      Maps the 5th component of this tuple to a new value.
      Seq<?> toSeq()
      Converts this tuple to a sequence.
      java.lang.String toString()  
      Tuple5<T1,​T2,​T3,​T4,​T5> update1​(T1 value)
      Sets the 1st element of this tuple to the given value.
      Tuple5<T1,​T2,​T3,​T4,​T5> update2​(T2 value)
      Sets the 2nd element of this tuple to the given value.
      Tuple5<T1,​T2,​T3,​T4,​T5> update3​(T3 value)
      Sets the 3rd element of this tuple to the given value.
      Tuple5<T1,​T2,​T3,​T4,​T5> update4​(T4 value)
      Sets the 4th element of this tuple to the given value.
      Tuple5<T1,​T2,​T3,​T4,​T5> update5​(T5 value)
      Sets the 5th element of this tuple to the given value.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • _1

        public final T1 _1
        The 1st element of this tuple.
      • _2

        public final T2 _2
        The 2nd element of this tuple.
      • _3

        public final T3 _3
        The 3rd element of this tuple.
      • _4

        public final T4 _4
        The 4th element of this tuple.
      • _5

        public final T5 _5
        The 5th element of this tuple.
    • Constructor Detail

      • Tuple5

        public Tuple5​(T1 t1,
                      T2 t2,
                      T3 t3,
                      T4 t4,
                      T5 t5)
        Constructs a tuple of 5 elements.
        Parameters:
        t1 - the 1st element
        t2 - the 2nd element
        t3 - the 3rd element
        t4 - the 4th element
        t5 - the 5th element
    • Method Detail

      • comparator

        public static <T1,​T2,​T3,​T4,​T5> java.util.Comparator<Tuple5<T1,​T2,​T3,​T4,​T5>> comparator​(java.util.Comparator<? super T1> t1Comp,
                                                                                                                                               java.util.Comparator<? super T2> t2Comp,
                                                                                                                                               java.util.Comparator<? super T3> t3Comp,
                                                                                                                                               java.util.Comparator<? super T4> t4Comp,
                                                                                                                                               java.util.Comparator<? super T5> t5Comp)
      • arity

        public int arity()
        Description copied from interface: Tuple
        Returns the number of elements of this tuple.
        Specified by:
        arity in interface Tuple
        Returns:
        the number of elements.
      • compareTo

        public int compareTo​(Tuple5<T1,​T2,​T3,​T4,​T5> that)
        Specified by:
        compareTo in interface java.lang.Comparable<T1>
      • _1

        public T1 _1()
        Getter of the 1st element of this tuple.
        Returns:
        the 1st element of this Tuple.
      • update1

        public Tuple5<T1,​T2,​T3,​T4,​T5> update1​(T1 value)
        Sets the 1st element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 1st element of this Tuple.
      • _2

        public T2 _2()
        Getter of the 2nd element of this tuple.
        Returns:
        the 2nd element of this Tuple.
      • update2

        public Tuple5<T1,​T2,​T3,​T4,​T5> update2​(T2 value)
        Sets the 2nd element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 2nd element of this Tuple.
      • _3

        public T3 _3()
        Getter of the 3rd element of this tuple.
        Returns:
        the 3rd element of this Tuple.
      • update3

        public Tuple5<T1,​T2,​T3,​T4,​T5> update3​(T3 value)
        Sets the 3rd element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 3rd element of this Tuple.
      • _4

        public T4 _4()
        Getter of the 4th element of this tuple.
        Returns:
        the 4th element of this Tuple.
      • update4

        public Tuple5<T1,​T2,​T3,​T4,​T5> update4​(T4 value)
        Sets the 4th element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 4th element of this Tuple.
      • _5

        public T5 _5()
        Getter of the 5th element of this tuple.
        Returns:
        the 5th element of this Tuple.
      • update5

        public Tuple5<T1,​T2,​T3,​T4,​T5> update5​(T5 value)
        Sets the 5th element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 5th element of this Tuple.
      • map

        public <U1,​U2,​U3,​U4,​U5> Tuple5<U1,​U2,​U3,​U4,​U5> map​(Function5<? super T1,​? super T2,​? super T3,​? super T4,​? super T5,​Tuple5<U1,​U2,​U3,​U4,​U5>> mapper)
        Maps the components of this tuple using a mapper function.
        Type Parameters:
        U1 - new type of the 1st component
        U2 - new type of the 2nd component
        U3 - new type of the 3rd component
        U4 - new type of the 4th component
        U5 - new type of the 5th component
        Parameters:
        mapper - the mapper function
        Returns:
        A new Tuple of same arity.
        Throws:
        java.lang.NullPointerException - if mapper is null
      • map

        public <U1,​U2,​U3,​U4,​U5> Tuple5<U1,​U2,​U3,​U4,​U5> map​(java.util.function.Function<? super T1,​? extends U1> f1,
                                                                                                           java.util.function.Function<? super T2,​? extends U2> f2,
                                                                                                           java.util.function.Function<? super T3,​? extends U3> f3,
                                                                                                           java.util.function.Function<? super T4,​? extends U4> f4,
                                                                                                           java.util.function.Function<? super T5,​? extends U5> f5)
        Maps the components of this tuple using a mapper function for each component.
        Type Parameters:
        U1 - new type of the 1st component
        U2 - new type of the 2nd component
        U3 - new type of the 3rd component
        U4 - new type of the 4th component
        U5 - new type of the 5th component
        Parameters:
        f1 - the mapper function of the 1st component
        f2 - the mapper function of the 2nd component
        f3 - the mapper function of the 3rd component
        f4 - the mapper function of the 4th component
        f5 - the mapper function of the 5th component
        Returns:
        A new Tuple of same arity.
        Throws:
        java.lang.NullPointerException - if one of the arguments is null
      • map1

        public <U> Tuple5<U,​T2,​T3,​T4,​T5> map1​(java.util.function.Function<? super T1,​? extends U> mapper)
        Maps the 1st component of this tuple to a new value.
        Type Parameters:
        U - new type of the 1st component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 1st component
      • map2

        public <U> Tuple5<T1,​U,​T3,​T4,​T5> map2​(java.util.function.Function<? super T2,​? extends U> mapper)
        Maps the 2nd component of this tuple to a new value.
        Type Parameters:
        U - new type of the 2nd component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 2nd component
      • map3

        public <U> Tuple5<T1,​T2,​U,​T4,​T5> map3​(java.util.function.Function<? super T3,​? extends U> mapper)
        Maps the 3rd component of this tuple to a new value.
        Type Parameters:
        U - new type of the 3rd component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 3rd component
      • map4

        public <U> Tuple5<T1,​T2,​T3,​U,​T5> map4​(java.util.function.Function<? super T4,​? extends U> mapper)
        Maps the 4th component of this tuple to a new value.
        Type Parameters:
        U - new type of the 4th component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 4th component
      • map5

        public <U> Tuple5<T1,​T2,​T3,​T4,​U> map5​(java.util.function.Function<? super T5,​? extends U> mapper)
        Maps the 5th component of this tuple to a new value.
        Type Parameters:
        U - new type of the 5th component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 5th component
      • apply

        public <U> U apply​(Function5<? super T1,​? super T2,​? super T3,​? super T4,​? super T5,​? extends U> f)
        Transforms this tuple to an object of type U.
        Type Parameters:
        U - type of the transformation result
        Parameters:
        f - Transformation which creates a new object of type U based on this tuple's contents.
        Returns:
        An object of type U
        Throws:
        java.lang.NullPointerException - if f is null
      • toSeq

        public Seq<?> toSeq()
        Description copied from interface: Tuple
        Converts this tuple to a sequence.
        Specified by:
        toSeq in interface Tuple
        Returns:
        A new Seq.
      • append

        public <T6> Tuple6<T1,​T2,​T3,​T4,​T5,​T6> append​(T6 t6)
        Append a value to this tuple.
        Type Parameters:
        T6 - type of the value to append
        Parameters:
        t6 - the value to append
        Returns:
        a new Tuple with the value appended
      • concat

        public <T6> Tuple6<T1,​T2,​T3,​T4,​T5,​T6> concat​(Tuple1<T6> tuple)
        Concat a tuple's values to this tuple.
        Type Parameters:
        T6 - the type of the 6th value in the tuple
        Parameters:
        tuple - the tuple to concat
        Returns:
        a new Tuple with the tuple values appended
        Throws:
        java.lang.NullPointerException - if tuple is null
      • concat

        public <T6,​T7> Tuple7<T1,​T2,​T3,​T4,​T5,​T6,​T7> concat​(Tuple2<T6,​T7> tuple)
        Concat a tuple's values to this tuple.
        Type Parameters:
        T6 - the type of the 6th value in the tuple
        T7 - the type of the 7th value in the tuple
        Parameters:
        tuple - the tuple to concat
        Returns:
        a new Tuple with the tuple values appended
        Throws:
        java.lang.NullPointerException - if tuple is null
      • concat

        public <T6,​T7,​T8> Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> concat​(Tuple3<T6,​T7,​T8> tuple)
        Concat a tuple's values to this tuple.
        Type Parameters:
        T6 - the type of the 6th value in the tuple
        T7 - the type of the 7th value in the tuple
        T8 - the type of the 8th value in the tuple
        Parameters:
        tuple - the tuple to concat
        Returns:
        a new Tuple with the tuple values appended
        Throws:
        java.lang.NullPointerException - if tuple is null
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object