Programa Java para crear un conjunto de pares usando HashSet

Declaración del problema: necesitamos encontrar e imprimir pares únicos entre todos los pares dados.

En general, si tenemos que encontrar los números únicos entre todos los números dados, simplemente colocamos todos los números en HashSet y los imprimimos. Consideremos una ilustración de muestra para interpretar mejor el enunciado del problema. Supongamos que tenemos tres pares por lo general son (3, 5), (4, 5), (3, 5). Ahora, si lo ponemos en el conjunto, la salida será.

Output: (3, 5), (4, 5), (3, 5)

Nota: Pero en el caso de Par, no podemos simplemente escribir como se muestra a continuación, pero si tratamos de poner Par en un conjunto, entonces nos da el problema para ilustrar.

HashSet<Pair> set = new HashSet<>();

 Del ejemplo, podemos ver claramente que los pares duplicados todavía están presentes. Esto se debe a que, para el conjunto, Pair es el mismo tipo de objeto y no puede diferenciarlos. Entonces, para superar este problema, podemos crear una string de índices y valores de   Pares y almacenarla en Conjunto en forma de String y luego imprimirla y puede obtener todos los pares únicos.

Ejemplo

Java

// Java Program to Create Set of Pairs
// using HashSet
 
// Importing required classes
import java.io.*;
import java.util.HashSet;
 
// Class 1
// Helper class for creating pairs
class Pair {
 
    // Pair attributes
    public int index;
    public int value;
 
    // Constructor to initialize pair
    public Pair(int index, int value)
    {
        // This keyword refers to current instance
        this.index = index;
        this.value = value;
    }
}
 
// Class 2
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Initializing an array of Pair
        // Custom input elements
        Pair arr[] = new Pair[4];
        arr[0] = new Pair(2, 3);
        arr[1] = new Pair(3, 4);
        arr[2] = new Pair(5, 10);
        arr[3] = new Pair(3, 4);
 
        // Creating a hashSet by
        // declaring object of string type
        HashSet<String> set = new HashSet<>();
 
        // Adding pair in set in form of string
        for (int i = 0; i < 4; i++) {
            set.add(arr[i].index + ", " + arr[i].value);
        }
 
        // Lastly iterating using for each loop and
        // printing the elements pairs
        for (String e : set)
            System.out.println("(" + e + ")");
    }
}
Producción

(5, 10)
(2, 3)
(3, 4)

Explicación de salida:

Entonces, a partir del código y la salida, puede ver claramente que los pares duplicados se eliminan y podemos obtener todos los pares únicos sin anular el método hashCode() y el método equals() .

Publicación traducida automáticamente

Artículo escrito por dkingg8803 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 *