Package io.vavr
Class Tuple4<T1,T2,T3,T4>
- java.lang.Object
-
- io.vavr.Tuple4<T1,T2,T3,T4>
-
- Type Parameters:
T1- type of the 1st elementT2- type of the 2nd elementT3- type of the 3rd elementT4- type of the 4th element
- All Implemented Interfaces:
Tuple,java.io.Serializable,java.lang.Comparable<Tuple4<T1,T2,T3,T4>>
public final class Tuple4<T1,T2,T3,T4> extends java.lang.Object implements Tuple, java.lang.Comparable<Tuple4<T1,T2,T3,T4>>, java.io.Serializable
A tuple of 4 elements which can be seen as cartesian product of 4 components.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods 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> Tuple5<T1,T2,T3,T4,T5>append(T5 t5)Append a value to this tuple.<U> Uapply(Function4<? super T1,? super T2,? super T3,? super T4,? extends U> f)Transforms this tuple to an object of type U.intarity()Returns the number of elements of this tuple.static <T1,T2,T3,T4>
java.util.Comparator<Tuple4<T1,T2,T3,T4>>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)private static <U1 extends java.lang.Comparable<? super U1>,U2 extends java.lang.Comparable<? super U2>,U3 extends java.lang.Comparable<? super U3>,U4 extends java.lang.Comparable<? super U4>>
intcompareTo(Tuple4<?,?,?,?> o1, Tuple4<?,?,?,?> o2)intcompareTo(Tuple4<T1,T2,T3,T4> that)<T5> Tuple5<T1,T2,T3,T4,T5>concat(Tuple1<T5> tuple)Concat a tuple's values to this tuple.<T5,T6>
Tuple6<T1,T2,T3,T4,T5,T6>concat(Tuple2<T5,T6> tuple)Concat a tuple's values to this tuple.<T5,T6,T7>
Tuple7<T1,T2,T3,T4,T5,T6,T7>concat(Tuple3<T5,T6,T7> tuple)Concat a tuple's values to this tuple.<T5,T6,T7,T8>
Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>concat(Tuple4<T5,T6,T7,T8> tuple)Concat a tuple's values to this tuple.booleanequals(java.lang.Object o)inthashCode()<U1,U2,U3,U4>
Tuple4<U1,U2,U3,U4>map(Function4<? super T1,? super T2,? super T3,? super T4,Tuple4<U1,U2,U3,U4>> mapper)Maps the components of this tuple using a mapper function.<U1,U2,U3,U4>
Tuple4<U1,U2,U3,U4>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)Maps the components of this tuple using a mapper function for each component.<U> Tuple4<U,T2,T3,T4>map1(java.util.function.Function<? super T1,? extends U> mapper)Maps the 1st component of this tuple to a new value.<U> Tuple4<T1,U,T3,T4>map2(java.util.function.Function<? super T2,? extends U> mapper)Maps the 2nd component of this tuple to a new value.<U> Tuple4<T1,T2,U,T4>map3(java.util.function.Function<? super T3,? extends U> mapper)Maps the 3rd component of this tuple to a new value.<U> Tuple4<T1,T2,T3,U>map4(java.util.function.Function<? super T4,? extends U> mapper)Maps the 4th component of this tuple to a new value.Seq<?>toSeq()Converts this tuple to a sequence.java.lang.StringtoString()Tuple4<T1,T2,T3,T4>update1(T1 value)Sets the 1st element of this tuple to the givenvalue.Tuple4<T1,T2,T3,T4>update2(T2 value)Sets the 2nd element of this tuple to the givenvalue.Tuple4<T1,T2,T3,T4>update3(T3 value)Sets the 3rd element of this tuple to the givenvalue.Tuple4<T1,T2,T3,T4>update4(T4 value)Sets the 4th element of this tuple to the givenvalue.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
_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.
-
-
Method Detail
-
comparator
public static <T1,T2,T3,T4> java.util.Comparator<Tuple4<T1,T2,T3,T4>> 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)
-
compareTo
private static <U1 extends java.lang.Comparable<? super U1>,U2 extends java.lang.Comparable<? super U2>,U3 extends java.lang.Comparable<? super U3>,U4 extends java.lang.Comparable<? super U4>> int compareTo(Tuple4<?,?,?,?> o1, Tuple4<?,?,?,?> o2)
-
arity
public int arity()
Description copied from interface:TupleReturns the number of elements of this tuple.
-
compareTo
public int compareTo(Tuple4<T1,T2,T3,T4> that)
- Specified by:
compareToin interfacejava.lang.Comparable<T1>
-
_1
public T1 _1()
Getter of the 1st element of this tuple.- Returns:
- the 1st element of this Tuple.
-
update1
public Tuple4<T1,T2,T3,T4> update1(T1 value)
Sets the 1st element of this tuple to the givenvalue.- 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 Tuple4<T1,T2,T3,T4> update2(T2 value)
Sets the 2nd element of this tuple to the givenvalue.- 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 Tuple4<T1,T2,T3,T4> update3(T3 value)
Sets the 3rd element of this tuple to the givenvalue.- 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 Tuple4<T1,T2,T3,T4> update4(T4 value)
Sets the 4th element of this tuple to the givenvalue.- Parameters:
value- the new value- Returns:
- a copy of this tuple with a new value for the 4th element of this Tuple.
-
map
public <U1,U2,U3,U4> Tuple4<U1,U2,U3,U4> map(Function4<? super T1,? super T2,? super T3,? super T4,Tuple4<U1,U2,U3,U4>> mapper)
Maps the components of this tuple using a mapper function.- Type Parameters:
U1- new type of the 1st componentU2- new type of the 2nd componentU3- new type of the 3rd componentU4- new type of the 4th component- Parameters:
mapper- the mapper function- Returns:
- A new Tuple of same arity.
- Throws:
java.lang.NullPointerException- ifmapperis null
-
map
public <U1,U2,U3,U4> Tuple4<U1,U2,U3,U4> 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)
Maps the components of this tuple using a mapper function for each component.- Type Parameters:
U1- new type of the 1st componentU2- new type of the 2nd componentU3- new type of the 3rd componentU4- new type of the 4th component- Parameters:
f1- the mapper function of the 1st componentf2- the mapper function of the 2nd componentf3- the mapper function of the 3rd componentf4- the mapper function of the 4th component- Returns:
- A new Tuple of same arity.
- Throws:
java.lang.NullPointerException- if one of the arguments is null
-
map1
public <U> Tuple4<U,T2,T3,T4> 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> Tuple4<T1,U,T3,T4> 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> Tuple4<T1,T2,U,T4> 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> Tuple4<T1,T2,T3,U> 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
-
apply
public <U> U apply(Function4<? super T1,? super T2,? super T3,? super T4,? 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- iffis null
-
toSeq
public Seq<?> toSeq()
Description copied from interface:TupleConverts this tuple to a sequence.
-
append
public <T5> Tuple5<T1,T2,T3,T4,T5> append(T5 t5)
Append a value to this tuple.- Type Parameters:
T5- type of the value to append- Parameters:
t5- the value to append- Returns:
- a new Tuple with the value appended
-
concat
public <T5> Tuple5<T1,T2,T3,T4,T5> concat(Tuple1<T5> tuple)
Concat a tuple's values to this tuple.- Type Parameters:
T5- the type of the 5th value in the tuple- Parameters:
tuple- the tuple to concat- Returns:
- a new Tuple with the tuple values appended
- Throws:
java.lang.NullPointerException- iftupleis null
-
concat
public <T5,T6> Tuple6<T1,T2,T3,T4,T5,T6> concat(Tuple2<T5,T6> tuple)
Concat a tuple's values to this tuple.- Type Parameters:
T5- the type of the 5th value in the tupleT6- 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- iftupleis null
-
concat
public <T5,T6,T7> Tuple7<T1,T2,T3,T4,T5,T6,T7> concat(Tuple3<T5,T6,T7> tuple)
Concat a tuple's values to this tuple.- Type Parameters:
T5- the type of the 5th value in the tupleT6- the type of the 6th value in the tupleT7- 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- iftupleis null
-
concat
public <T5,T6,T7,T8> Tuple8<T1,T2,T3,T4,T5,T6,T7,T8> concat(Tuple4<T5,T6,T7,T8> tuple)
Concat a tuple's values to this tuple.- Type Parameters:
T5- the type of the 5th value in the tupleT6- the type of the 6th value in the tupleT7- the type of the 7th value in the tupleT8- 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- iftupleis null
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-