Clase triplete en JavaTuples

Un triplete es una tupla de la biblioteca JavaTuples que trata con 3 elementos. Dado que este triplete es una clase genérica, puede contener cualquier tipo de valor.

Dado que Triplet es una Tuple, 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 Triplet<A, B, C> extends Tuple
    implements IValue0<A>, IValue1<B>, IValue2<C> 

Jerarquía de clases 

Object
  ↳ org.javatuples.Tuple
      ↳ org.javatuples.Triplet<A, B, C> 

Creación de tupla triplete

  • Del Constructor
    Sintaxis :
Triplet<A, B, C> triplet = 
    new Triplet<A, B, C>(value1, value2, value3);

Ejemplo

Java

// Below is a Java program to create
// a Triplet tuple from Constructor
 
import java.util.*;
import org.javatuples.Triplet;
 
class GfG {
    public static void main(String[] args)
    {
        Triplet<Integer, String, String> triplet
            = new Triplet<Integer, String, String>(Integer.valueOf(1),
                                "GeeksforGeeks", "A computer portal");
 
        System.out.println(triplet);
    }
}

Producción: 

[1, GeeksforGeeks, A computer portal]
  • 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 :
Triplet<type1, type2, type3> triplet = 
       Triplet.with(value1, value2, value3);

Ejemplo

Java

// Below is a Java program to create
// a Triplet tuple from with() method
 
import java.util.*;
import org.javatuples.Triplet;
 
class GfG {
    public static void main(String[] args)
    {
        Triplet<Integer, String, String> triplet
            = Triplet.with(Integer.valueOf(1),
                           "GeeksforGeeks", "A computer portal");
 
        System.out.println(triplet);
    }
}

Producción: 

[1, GeeksforGeeks, A computer portal]
  • 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 :
Triplet<type1, type2, type3> triplet = 
    Triplet.fromCollection(collectionWith_2_value);

Triplet<type1, type2, type3> triplet = 
    Triplet.fromArray(arrayWith_2_value);

Ejemplo

Java

// Below is a Java program to create
// a Triplet tuple from Collection
 
import java.util.*;
import org.javatuples.Triplet;
 
class GfG {
    public static void main(String[] args)
    {
        // Creating Triplet from List
        List<String> list = new ArrayList<String>();
        list.add("GeeksforGeeks");
        list.add("A computer portal");
        list.add("for geeks");
 
        Triplet<String, String, String> triplet
            = Triplet.fromCollection(list);
 
        // Creating Triplet from Array
        String[] arr = { "GeeksforGeeks",
                         "A computer portal",
                         "for geeks" };
 
        Triplet<String, String, String> otherTriplet
            = Triplet.fromArray(arr);
 
        System.out.println(triplet);
        System.out.println(otherTriplet);
    }
}

Producción: 

[GeeksforGeeks, A computer portal, for geeks]
[GeeksforGeeks, A computer portal, for geeks]

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 :  

Triplet<type1, type2, type3> triplet = 
    new Triplet<type1, type2, type3>(value1, value2, value3);

type1 val1 = triplet.getValue0();

Ejemplo :  

Java

// Below is a Java program to get
// a Triplet value
 
import java.util.*;
import org.javatuples.Triplet;
 
class GfG {
    public static void main(String[] args)
    {
        Triplet<Integer, String, String> triplet
            = Triplet.with(Integer.valueOf(1),
                           "GeeksforGeeks",
                           "A computer portal");
 
        System.out.println(triplet.getValue0());
        System.out.println(triplet.getValue2());
    }
}

Producción: 

1
A computer portal

Configuración del valor del triplete

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

Triplet<type1, type2, type3> triplet = 
    new Triplet<type1, type2, type3>
                (value1, value2, value3);

Triplet<type1, type2, type3> 
    otherTriplet = triplet.setAtX(value);

Ejemplo

Java

// Below is a Java program to set
// a Triplet value
  
import java.util.*;
import org.javatuples.Triplet;
  
class GfG {
    public static void main(String[] args)
    {
        Triplet<Integer, String, String> triplet
            = Triplet.with(Integer.valueOf(1), "GeeksforGeeks",
                                          "A computer portal");
  
        Triplet<Integer, String, String> otherTriplet
            = triplet.setAt1("A computer portal for geeks");
  
        System.out.println(otherTriplet);
    }
}

Producción: 

[1, GeeksforGeeks, A computer portal for geeks]

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

Triplet<type1, type2, type3> triplet = 
    new Triplet<type1, type2, type3>(value1, value2, value3);

Quartet<type 1, type 2, type 3, type 4> quartet = 
    triplet.addAt3(value);

Ejemplo :  

Java

// Below is a Java program to add
// a value
 
import java.util.*;
import org.javatuples.Triplet;
import org.javatuples.Quartet;
 
class GfG {
    public static void main(String[] args)
    {
        Triplet<Integer, String, String> triplet
            = Triplet.with(Integer.valueOf(1),
                           "GeeksforGeeks",
                           "A computer portal");
 
        Quartet<Integer, String, String, String> quartet
            = triplet.addAt3("for geeks");
 
        System.out.println(quartet);
    }
}

Producción: 

[1, GeeksforGeeks, A computer portal, for geeks]

Buscando en triplete

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 :  

Triplet<type1, type2, type3> triplet = 
    new Triplet<type1, type2, type3>(value1, value2, value3);

boolean res = triplet.contains(value2);

Ejemplo :  

Java

// Below is a Java program to search
// a value in a Triplet
 
import java.util.*;
import org.javatuples.Triplet;
 
class GfG {
    public static void main(String[] args)
    {
        Triplet<Integer, String, String> triplet
            = Triplet.with(Integer.valueOf(1),
                           "GeeksforGeeks",
                           "A computer portal");
 
        boolean exist = triplet.contains("GeeksforGeeks");
        boolean exist1 = triplet.contains(4);
 
        System.out.println(exist);
        System.out.println(exist1);
    }
}

Producción: 

true
false 

Iterando a través de Triplet

Dado que Triplet implementa la interfaz Iterable<Object> . Significa que se pueden iterar de la misma manera que las colecciones o los arreglos.

Sintaxis :  

Triplet<type1, type2, type3> triplet = 
    new Triplet<type1, type2, type3>(value1, value2, value3);

for (Object item : triplet) {
        ...
}

Ejemplo :  

Java

// Below is a Java program to iterate
// a Triplet
 
import java.util.*;
import org.javatuples.Triplet;
 
class GfG {
    public static void main(String[] args)
    {
        Triplet<Integer, String, String> triplet
            = Triplet.with(Integer.valueOf(1),
                           "GeeksforGeeks",
                           "A computer portal");
 
        for (Object item : triplet)
            System.out.println(item);
    }
}

Producción: 

1
GeeksforGeeks
A computer portal

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 *