Problemstellung: Wir müssen eindeutige Paare unter allen gegebenen Paaren finden und drucken.

Wenn wir die eindeutigen Zahlen unter allen gegebenen Zahlen finden müssen, fügen wir im Allgemeinen einfach alle Zahlen in HashSet ein und drucken sie aus. Betrachten wir eine Beispielillustration, um die Problemstellung besser zu interpretieren. Angenommen, wir haben drei Paare, die normalerweise (3, 5), (4, 5), (3, 5) sind. Wenn wir es jetzt in das Set einfügen, wird die Ausgabe sein.

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

Hinweis: Aber im Fall von Pair können wir nicht einfach wie unten gezeigt schreiben, aber wenn wir versuchen, Pair in einen Satz zu stecken, ergibt sich das Problem zur Veranschaulichung.

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

 Aus dem Beispiel können wir deutlich erkennen, dass immer noch doppelte Paare vorhanden sind. Dies liegt daran, dass Pair für die Menge derselbe Objekttyp ist und nicht zwischen ihnen unterschieden werden kann. Um dieses Problem zu lösen, können wir also einfach eine Zeichenfolge aus Indizes und Werten von   Pairs erstellen und diese in Form von String in Set speichern und dann drucken, und Sie können alle eindeutigen Paare erhalten.

Beispiel

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 annd
        // printing the elements pairs
        for (String e : set)
            System.out.println("(" + e + ")");
    }
}
Ausgabe
(5, 10)
(2, 3)
(3, 4)

Erklärung der Ausgabe:

Aus dem Code und der Ausgabe können Sie also deutlich erkennen, dass doppelte Paare gelöscht werden, und wir können alle eindeutigen Paare erhalten, ohne die hashCode() -Methode und die equals() -Methode zu überschreiben .