Package io.vavr
Class Tuple3<T1,T2,T3>
- java.lang.Object
-
- io.vavr.Tuple3<T1,T2,T3>
-
- Type Parameters:
T1- type of the 1st elementT2- type of the 2nd elementT3- type of the 3rd element
public final class Tuple3<T1,T2,T3> extends java.lang.Object implements Tuple, java.lang.Comparable<Tuple3<T1,T2,T3>>, java.io.Serializable
A tuple of three elements which can be seen as cartesian product of three 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> Tuple4<T1,T2,T3,T4>append(T4 t4)Append a value to this tuple.<U> Uapply(Function3<? super T1,? super T2,? super T3,? 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>
java.util.Comparator<Tuple3<T1,T2,T3>>comparator(java.util.Comparator<? super T1> t1Comp, java.util.Comparator<? super T2> t2Comp, java.util.Comparator<? super T3> t3Comp)private static <U1 extends java.lang.Comparable<? super U1>,U2 extends java.lang.Comparable<? super U2>,U3 extends java.lang.Comparable<? super U3>>
intcompareTo(Tuple3<?,?,?> o1, Tuple3<?,?,?> o2)intcompareTo(Tuple3<T1,T2,T3> that)<T4> Tuple4<T1,T2,T3,T4>concat(Tuple1<T4> tuple)Concat a tuple's values to this tuple.<T4,T5>
Tuple5<T1,T2,T3,T4,T5>concat(Tuple2<T4,T5> tuple)Concat a tuple's values to this tuple.<T4,T5,T6>
Tuple6<T1,T2,T3,T4,T5,T6>concat(Tuple3<T4,T5,T6> tuple)Concat a tuple's values to this tuple.<T4,T5,T6,T7>
Tuple7<T1,T2,T3,T4,T5,T6,T7>concat(Tuple4<T4,T5,T6,T7> tuple)Concat a tuple's values to this tuple.<T4,T5,T6,T7,T8>
Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>concat(Tuple5<T4,T5,T6,T7,T8> tuple)Concat a tuple's values to this tuple.booleanequals(java.lang.Object o)inthashCode()<U1,U2,U3>
Tuple3<U1,U2,U3>map(Function3<? super T1,? super T2,? super T3,Tuple3<U1,U2,U3>> mapper)Maps the components of this tuple using a mapper function.<U1,U2,U3>
Tuple3<U1,U2,U3>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)Maps the components of this tuple using a mapper function for each component.<U> Tuple3<U,T2,T3>map1(java.util.function.Function<? super T1,? extends U> mapper)Maps the 1st component of this tuple to a new value.<U> Tuple3<T1,U,T3>map2(java.util.function.Function<? super T2,? extends U> mapper)Maps the 2nd component of this tuple to a new value.<U> Tuple3<T1,T2,U>map3(java.util.function.Function<? super T3,? extends U> mapper)Maps the 3rd component of this tuple to a new value.Seq<?>toSeq()Converts this tuple to a sequence.java.lang.StringtoString()Tuple3<T1,T2,T3>update1(T1 value)Sets the 1st element of this tuple to the givenvalue.Tuple3<T1,T2,T3>update2(T2 value)Sets the 2nd element of this tuple to the givenvalue.Tuple3<T1,T2,T3>update3(T3 value)Sets the 3rd 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.
-
-
Method Detail
-
comparator
public static <T1,T2,T3> java.util.Comparator<Tuple3<T1,T2,T3>> comparator(java.util.Comparator<? super T1> t1Comp, java.util.Comparator<? super T2> t2Comp, java.util.Comparator<? super T3> t3Comp)
-
compareTo
private static <U1 extends java.lang.Comparable<? super U1>,U2 extends java.lang.Comparable<? super U2>,U3 extends java.lang.Comparable<? super U3>> int compareTo(Tuple3<?,?,?> o1, Tuple3<?,?,?> o2)
-
arity
public int arity()
Description copied from interface:TupleReturns the number of elements of this tuple.
-
compareTo
public int compareTo(Tuple3<T1,T2,T3> 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 Tuple3<T1,T2,T3> 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 Tuple3<T1,T2,T3> 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 Tuple3<T1,T2,T3> 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.
-
map
public <U1,U2,U3> Tuple3<U1,U2,U3> map(Function3<? super T1,? super T2,? super T3,Tuple3<U1,U2,U3>> 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 component- Parameters:
mapper- the mapper function- Returns:
- A new Tuple of same arity.
- Throws:
java.lang.NullPointerException- ifmapperis null
-
map
public <U1,U2,U3> Tuple3<U1,U2,U3> 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)
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 component- Parameters:
f1- the mapper function of the 1st componentf2- the mapper function of the 2nd componentf3- the mapper function of the 3rd component- Returns:
- A new Tuple of same arity.
- Throws:
java.lang.NullPointerException- if one of the arguments is null
-
map1
public <U> Tuple3<U,T2,T3> 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> Tuple3<T1,U,T3> 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> Tuple3<T1,T2,U> 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
-
apply
public <U> U apply(Function3<? super T1,? super T2,? super T3,? 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 <T4> Tuple4<T1,T2,T3,T4> append(T4 t4)
Append a value to this tuple.- Type Parameters:
T4- type of the value to append- Parameters:
t4- the value to append- Returns:
- a new Tuple with the value appended
-
concat
public <T4> Tuple4<T1,T2,T3,T4> concat(Tuple1<T4> tuple)
Concat a tuple's values to this tuple.- Type Parameters:
T4- the type of the 4th 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 <T4,T5> Tuple5<T1,T2,T3,T4,T5> concat(Tuple2<T4,T5> tuple)
Concat a tuple's values to this tuple.- Type Parameters:
T4- the type of the 4th value in the tupleT5- 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 <T4,T5,T6> Tuple6<T1,T2,T3,T4,T5,T6> concat(Tuple3<T4,T5,T6> tuple)
Concat a tuple's values to this tuple.- Type Parameters:
T4- the type of the 4th value in the tupleT5- 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 <T4,T5,T6,T7> Tuple7<T1,T2,T3,T4,T5,T6,T7> concat(Tuple4<T4,T5,T6,T7> tuple)
Concat a tuple's values to this tuple.- Type Parameters:
T4- the type of the 4th value in the tupleT5- 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 <T4,T5,T6,T7,T8> Tuple8<T1,T2,T3,T4,T5,T6,T7,T8> concat(Tuple5<T4,T5,T6,T7,T8> tuple)
Concat a tuple's values to this tuple.- Type Parameters:
T4- the type of the 4th value in the tupleT5- 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
-
-