Un par es una tupla de la biblioteca JavaTuples que trata con 2 elementos. Dado que este par es una clase genérica, puede contener cualquier tipo de valor.
Dado que Pair es una Tupla, también tiene todas las características de JavaTuples:
- Son seguros para tipos
- son inmutables
- son iterables
- son serializables
- They are Comparable (implementa Comparable<Tuple>)
- Implementan equals() y hashCode()
- También implementan toString()
Declaración de clase
public final class Pair<A, B> extends Tuple implements IValue0<A>, IValue1<B>
Jerarquía de clases
Object ↳ org.javatuples.Tuple ↳ org.javatuples.Pair<A, B>
Crear tupla par
- Del Constructor :
Sintaxis :
Pair<A, B> pair = new Pair<A, B>(value1, value2);
Ejemplo :
Java
// Below is a Java program to create // a Pair tuple from Constructor import java.util.*; import org.javatuples.Pair; class GfG { public static void main(String[] args) { Pair<Integer, String> pair = new Pair<Integer, String>(Integer.valueOf(1), "GeeksforGeeks"); System.out.println(pair); } }
Producción:
[1, GeeksforGeeks]
- Uso del método with() : El método with() es una función proporcionada por la biblioteca JavaTuples, para instanciar el objeto con dichos valores.
Sintaxis :
Pair<type1, type2> pair = Pair.with(value1, value2);
Ejemplo :
Java
// Below is a Java program to create // a Pair tuple from with() method import java.util.*; import org.javatuples.Pair; class GfG { public static void main(String[] args) { Pair<Integer, String> pair = Pair.with(Integer.valueOf(1), "GeeksforGeeks"); System.out.println(pair); } }
Producción:
[1, GeeksforGeeks]
- De otras colecciones : el método fromCollection() se usa para crear una tupla a partir de una colección, y el método fromArray() se usa para crear a partir de una array. La colección/array debe tener el mismo tipo que la tupla y el número de valores de la colección/array debe coincidir con la clase de tupla.
Sintaxis :
Pair<type1, type2> pair = Pair.fromCollection(collectionWith_2_value); Pair<type1, type2> pair = Pair.fromArray(arrayWith_2_value);
Ejemplo :
Java
// Below is a Java program to create // a Pair tuple from Collection import java.util.*; import org.javatuples.Pair; class GfG { public static void main(String[] args) { // Creating Pair from List List<String> list = new ArrayList<String>(); list.add("GeeksforGeeks"); list.add("A computer portal"); Pair<Strin, String> pair = Pair.fromCollection(list); // Creating Pair from Array String[] arr = { "GeeksforGeeks", "A computer portal" }; Pair<String, String> otherPair = Pair.fromArray(arr); System.out.println(pair); System.out.println(otherPair); } }
Producción:
[GeeksforGeeks, A computer portal] [GeeksforGeeks, A computer portal]
Obtener valor
El método getValueX() se puede utilizar para obtener el valor de una tupla en el índice X. La indexación en las tuplas comienza con 0. Por lo tanto, el valor en el índice X representa el valor en la posición X+1.
Sintaxis :
Pair<type1, type2> pair = new Pair<type1, type2>(value1, value2); type1 val1 = pair.getValue0();
Ejemplo :
Java
// Below is a Java program to get // a Pair value import java.util.*; import org.javatuples.Pair; class GfG { public static void main(String[] args) { Pair<Integer, String> pair = Pair.with(Integer.valueOf(1), "GeeksforGeeks"); System.out.println(pair.getValue0()); } }
Producción:
1
Configuración del valor de par
Dado que las tuplas son inmutables, significa que no es posible modificar un valor en un índice. Por lo tanto, JavaTuples ofrece setAtX (valor) que crea una copia de la Tupla con un nuevo valor en el índice X y devuelve esa Tupla.
Sintaxis :
Pair<type1, type2> pair = new Pair<type1, type2>(value1, value2); type1 val1 = pair.getValue0();
Ejemplo :
Java
// Below is a Java program to set // a Pair value import java.util.*; import org.javatuples.Pair; class GfG { public static void main(String[] args) { Pair<Integer, String> pair = Pair.with(Integer.valueOf(1), "GeeksforGeeks"); Pair<Integer, String> otherPair = pair.setAt1("A computer portal"); System.out.println(otherPair); } }
Producción:
[1, A computer portal]
Agregar un valor
Se puede agregar un valor con la ayuda del método addAtX(), donde X representa el índice en el que se agregará el valor. Este método devuelve una Tupla de elemento uno más que la Tupla llamada.
Sintaxis :
Pair<type1, type2> pair = new Pair<type1, type2>(value1, value2); Triplet<type 1, type 2, type 3> pair = pair.addAt2(value 2);
Ejemplo :
Java
// Below is a Java program to add // a value import java.util.*; import org.javatuples.Pair; import org.javatuples.Triplet; class GfG { public static void main(String[] args) { Pair<Integer, String> pair = Pair.with(Integer.valueOf(1), "GeeksforGeeks"); Triplet<Integer, String, String> triplet = pair.addAt2("A computer portal"); System.out.println(triplet); } }
Producción:
[1, GeeksforGeeks, A computer portal]
Buscando en pareja
Se puede buscar un elemento en una tupla con el método predefinido contains() . Devuelve un valor booleano ya sea que el valor esté presente o no.
Sintaxis :
Pair<type1, type2> pair = new Pair<type1, type2>(value1, value2); boolean res = pair.contains(value2);
Ejemplo :
Java
// Below is a Java program to search // a value import java.util.*; import org.javatuples.Pair; class GfG { public static void main(String[] args) { Pair<Integer, String> pair = Pair.with(Integer.valueOf(1), "GeeksforGeeks"); boolean exist = pair.contains("GeeksforGeeks"); boolean exist1 = pair.contains(4); System.out.println(exist); System.out.println(exist1); } }
Producción:
true false
Iterando a través de Par
Dado que Pair implementa la interfaz Iterable<Object> . Significa que se pueden iterar de la misma manera que las colecciones o los arreglos.
Sintaxis :
Pair<type1, type2> pair = new Pair<type1, type2>(value1, value2); for (Object item : pair) { ... }
Ejemplo :
Java
// Below is a Java program to iterate // a Pair import java.util.*; import org.javatuples.Pair; class GfG { public static void main(String[] args) { Pair<Integer, String> pair = Pair.with(Integer.valueOf(1), "GeeksforGeeks"); for (Object item : pair) System.out.println(item); } }
Producción:
1 GeeksforGeeks
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA