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
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> U
apply(Function3<? super T1,? super T2,? super T3,? 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>
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)
int
compareTo(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.boolean
equals(java.lang.Object o)
int
hashCode()
<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.String
toString()
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
.
-
-
-
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)
-
arity
public int arity()
Description copied from interface:Tuple
Returns the number of elements of this tuple.
-
compareTo
public int compareTo(Tuple3<T1,T2,T3> that)
- Specified by:
compareTo
in 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
- ifmapper
is 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
- iff
is null
-
toSeq
public Seq<?> toSeq()
Description copied from interface:Tuple
Converts 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
- iftuple
is 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
- iftuple
is 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
- iftuple
is 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
- iftuple
is 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
- iftuple
is null
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-