Clase de par en JavaTuples

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *