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
- All Implemented Interfaces:
Tuple,Serializable,Comparable<Tuple2<T1,T2>>
public final class Tuple2<T1,T2>
extends Object
implements Tuple, Comparable<Tuple2<T1,T2>>, Serializable
A tuple of two elements which can be seen as cartesian product of two components.
- Author:
- Daniel Dietrich
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription_1()Getter of the 1st element of this tuple._2()Getter of the 2nd element of this tuple.append(T3 t3) Append a value to this tuple.<U> Uapply(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> Comparator <Tuple2<T1, T2>> comparator(Comparator<? super T1> t1Comp, Comparator<? super T2> t2Comp) intConcat a tuple's values to this tuple.Concat a tuple's values to this tuple.Concat a tuple's values to this tuple.Concat a tuple's values to this tuple.Concat a tuple's values to this tuple.Concat a tuple's values to this tuple.booleaninthashCode()<U1,U2> Tuple2 <U1, U2> map(BiFunction<? super T1, ? super T2, Tuple2<U1, U2>> mapper) Maps the components of this tuple using a mapper function.<U1,U2> Tuple2 <U1, U2> Maps the components of this tuple using a mapper function for each component.Maps the 1st component of this tuple to a new value.Maps the 2nd component of this tuple to a new value.swap()Swaps the elements of thisTuple.toEntry()Converts the tuple to java.util.Map.EntryTuple.Seq<?> toSeq()Converts this tuple to a sequence.toString()Sets the 1st element of this tuple to the givenvalue.Sets the 2nd element of this tuple to the givenvalue.
-
Field Details
-
_1
The 1st element of this tuple. -
_2
The 2nd element of this tuple.
-
-
Constructor Details
-
Tuple2
Constructs a tuple of two elements.- Parameters:
t1- the 1st elementt2- the 2nd element
-
-
Method Details
-
comparator
public static <T1,T2> Comparator<Tuple2<T1,T2>> comparator(Comparator<? super T1> t1Comp, Comparator<? super T2> t2Comp) -
arity
public int arity()Description copied from interface:TupleReturns the number of elements of this tuple. -
compareTo
- Specified by:
compareToin interfaceComparable<T1>
-
_1
Getter of the 1st element of this tuple.- Returns:
- the 1st element of this Tuple.
-
update1
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
Getter of the 2nd element of this tuple.- Returns:
- the 2nd element of this Tuple.
-
update2
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
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
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
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:
NullPointerException- ifmapperis null
-
map
public <U1,U2> Tuple2<U1,U2> map(Function<? super T1, ? extends U1> f1, 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:
NullPointerException- if one of the arguments is null
-
map1
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
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
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:
NullPointerException- iffis null
-
toSeq
Description copied from interface:TupleConverts this tuple to a sequence. -
append
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
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:
NullPointerException- iftupleis null
-
concat
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:
NullPointerException- iftupleis null
-
concat
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:
NullPointerException- iftupleis null
-
concat
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:
NullPointerException- iftupleis null
-
concat
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:
NullPointerException- iftupleis null
-
concat
public <T3,T4, Tuple8<T1,T5, T6, T7, T8> T2, concatT3, T4, T5, T6, T7, T8> (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:
NullPointerException- iftupleis null
-
equals
-
hashCode
public int hashCode() -
toString
-