📜  使用 HashSet 创建对集的Java程序

📅  最后修改于: 2022-05-13 01:55:44.847000             🧑  作者: Mango

使用 HashSet 创建对集的Java程序

问题陈述:我们需要在所有给定的对中找到并打印唯一的对。

通常,如果我们必须在所有给定数字中找到唯一的数字,那么我们只需将所有数字放入 HashSet 并打印它们。让我们考虑一个示例图来更好地解释问题陈述。假设我们有三对通常是 (3, 5), (4, 5), (3, 5)。现在,如果我们将它放入集合中,那么输出将是。

Output: (3, 5), (4, 5), (3, 5)
HashSet set = new HashSet<>();

从示例中,我们可以清楚地看到重复对仍然存在。这是因为对于集合来说, Pair是同一种对象,无法区分。所以为了克服这个问题,我们可以制作字符串Pairs的索引和值,并将其以 String 的形式存储在 Set 中,然后打印它,您可以获得所有唯一的对。

例子



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 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)

输出说明:

因此,从代码和输出中,您可以清楚地看到重复对被删除,我们可以在不覆盖hashCode() 方法equals() 方法的情况下获取所有唯一对。