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 + ")");
    }
}
Saída
(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() .