Clase de cuarteto en JavaTuples

Un cuarteto es una tupla de la biblioteca JavaTuples que se ocupa de 4 elementos. Dado que este Cuarteto es una clase genérica, puede contener cualquier tipo de valor.

Dado que Quartet 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 Quartet<A, B, C, D> extends Tuple
implements IValue0<A>, IValue1<B>, IValue2<C>, IValue3<D> 

Jerarquía de clases 

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

Creación de tupla de cuarteto

  • Del Constructor :
    Sintaxis :
Quartet<A, B, C, D> quartet = 
    new Quartet<A, B, C, D>
        (value1, value2, value3, value4);
  • Ejemplo :

Java

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

Producción: 

[1, GeeksforGeeks, A computer portal, 20.18]
  • 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 :
Quartet<type1, type2, type3, type4> quartet = 
    Quartet.with(value1, value2, value3, value4);
  • Ejemplo :

Java

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

Producción: 

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

Quartet<type1, type2, type3, type4> quartet = 
    Quartet.fromArray(arrayWith_2_value);
  • Ejemplo :

Java

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

Producción: 

[GeeksforGeeks, A computer portal, for geeks, by Sandeep Jain]
[GeeksforGeeks, A computer portal, for geeks, by Sandeep Jain]

Obtener valor

El método getValueX() se puede utilizar para obtener el valor de una Tupla en el índice X. La indexación en Tuplas comienza con 0. Por lo tanto, el valor en el índice X representa el valor en la posición X+1.

Sintaxis :  

Quartet<type1, type2, type3, type4> quartet = 
    new Quartet<type1, type2, type3, type4>(value1, value2, value3, value4);

type1 val1 = quartet.getValue0();

Ejemplo

Java

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

Producción: 

1
A computer portal

Configuración del valor del cuarteto

Dado que las tuplas son inmutables , significa que no es posible modificar un valor en cualquier í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 :  

Quartet<type1, type2, type3, type4> quartet = 
    new Quartet<type1, type2, type3, type4>
                (value1, value2, value3, value4);

Quartet<type1, type2, type3, type4> 
    otherQuartet = quartet.setAtX(value);

Ejemplo

Java

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

Producción: 

[1, GeeksforGeeks, A computer portal, 2.018] 

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

Quartet<type1, type2, type3, type4> quartet = 
    new Quartet<type1, type2, type3, type4>
        (value1, value2, value3, value4);

Quintet<type 1, type 2, type 3, type 4, type 5> quintet = 
    quartet.addAtx(value);

Ejemplo :  

Java

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

Producción: 

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

Buscando en cuarteto

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

Quartet<type1, type2, type3, type4> quartet = 
    new Quartet<type1, type2, type3, type4>(value1, value2, value3, value4);

boolean res = quartet.contains(value2);

Ejemplo :  

Java

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

Producción: 

true
false 

Iterando a través de Cuarteto

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

Sintaxis :  

Quartet<type1, type2, type3, type4> quartet = 
    new Quartet<type1, type2, type3, type4>
            (value1, value2, value3, value4);

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

Ejemplo :  

Java

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

Producción: 

1
GeeksforGeeks
A computer portal
20.18

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 *