Programa Java para criar um conjunto de pares usando HashSet
Declaração do problema: Precisamos encontrar e imprimir pares únicos entre todos os pares dados.
Geralmente, se temos que encontrar os números únicos entre todos os números dados, simplesmente colocamos todos os números em HashSet e os imprimimos. Vamos considerar um exemplo de ilustração para interpretar melhor a definição do problema. Suponha que temos três pares, sendo eles (3, 5), (4, 5), (3, 5). Agora, se colocarmos no conjunto, a saída será.
Output: (3, 5), (4, 5), (3, 5)
Nota: Mas no caso de Pair, não podemos apenas escrever como mostrado abaixo, mas se tentarmos colocar Pair em um conjunto, então teremos o problema para ilustração.
HashSet<Pair> set = new HashSet<>();
A partir do exemplo, podemos ver claramente que pares duplicados ainda estão presentes. Isso porque, para o conjunto, Par é o mesmo tipo de objeto e não há como diferenciá-los. Então, para superar esse problema, podemos apenas fazer uma string de índices e valores de pares e armazená-la em Conjunto na forma de string e depois imprimi-la e você pode obter todos os pares únicos.
Exemplo
// 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 annd
// printing the elements pairs
for (String e : set)
System.out.println("(" + e + ")");
}
}
(5, 10) (2, 3) (3, 4)
Explicação de saída:
Portanto, a partir do código e da saída, você pode ver claramente que os pares duplicados são excluídos e podemos obter todos os pares exclusivos sem substituir o método hashCode() e o método equals() .
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva