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