Open In App

C# | Check if a HashSet and a specified collection share common elements

Improve
Improve
Like Article
Like
Save
Share
Report

In C#, you can use the SetEquals method to check if a HashSet and a specified collection contain the same elements. The SetEquals method returns true if the HashSet and the specified collection contain the same elements; otherwise, it returns false.

Here is an example code that demonstrates how to use the SetEquals method to check if a HashSet and a specified collection contain the same elements:

C#




using System;
using System.Collections.Generic;
 
class Program
{
    static void Main(string[] args)
    {
        // Create a HashSet and a List
        HashSet<int> set1 = new HashSet<int> { 1, 2, 3, 4, 5 };
        List<int> list1 = new List<int> { 5, 4, 3, 2, 1 };
 
        // Check if the HashSet and List contain the same elements
        bool areEqual = set1.SetEquals(list1);
        Console.WriteLine("Are set1 and list1 equal? " + areEqual);
 
        // Create another List with different elements
        List<int> list2 = new List<int> { 6, 7, 8 };
 
        // Check if the HashSet and List2 contain the same elements
        bool areEqual2 = set1.SetEquals(list2);
        Console.WriteLine("Are set1 and list2 equal? " + areEqual2);
 
        Console.ReadLine();
    }
}


Output

Are set1 and list1 equal? True
Are set1 and list2 equal? False

In this example, we first create a HashSet named set1 and a List named list1. Both collections contain the same elements but in a different order. We then use the SetEquals method to check if they contain the same elements, and the output shows that they do.

We then create another List named list2 that contains different elements. We use the SetEquals method again to check if set1 and list2 contain the same elements, and the output shows that they don’t.

A HashSet is an unordered collection of the unique elements. It is found in System.Collections.Generic namespace. It is used in a situation where we want to prevent duplicates from being inserted in the collection. As far as performance is concerned, it is better in comparison to the list.HashSet.Overlaps(IEnumerable) Method is used to check whether the current HashSet object and a specified collection share common elements. 

Syntax:

mySet1.Overlaps(mySet2);

Where, mySet1 and mySet2 are HashSets. 

Return Type: This method returns true if the both HashSets share at least one common element otherwise it returns false

Below given are some examples to understand the implementation in a better way : 

Example 1: 

CSHARP




// C# code to Check if a HashSet and a
// specified collection share common elements
using System;
using System.Collections.Generic;
 
class GFG {
 
    // Driver code
    public static void Main()
    {
 
        // Creating a HashSet of strings
        HashSet<string> mySet1 = new HashSet<string>();
 
        // Inserting elements in HashSet
        mySet1.Add("Geeks");
        mySet1.Add("GeeksforGeeks");
        mySet1.Add("GeeksClasses");
        mySet1.Add("GeeksQuiz");
 
        // Creating a HashSet of strings
        HashSet<string> mySet2 = new HashSet<string>();
 
        // Inserting elements in HashSet
        mySet2.Add("DS");
        mySet2.Add("C++");
        mySet2.Add("Java");
        mySet2.Add("JavaScript");
 
        // Check if a HashSet and a specified
        // collection share common elements
        Console.WriteLine(mySet1.Overlaps(mySet2));
    }
}


Example 2: 

CSHARP




// C# code to Check if a HashSet and a
// specified collection share common elements
using System;
using System.Collections.Generic;
 
class GFG {
 
    // Driver code
    public static void Main()
    {
 
        // Creating a HashSet of integers
        HashSet<int> mySet1 = new HashSet<int>();
 
        // Inserting elements in HashSet
        mySet1.Add(4);
        mySet1.Add(8);
        mySet1.Add(12);
        mySet1.Add(16);
 
        // Creating a HashSet of integers
        HashSet<int> mySet2 = new HashSet<int>();
 
        // Inserting elements in HashSet
        mySet2.Add(4);
        mySet2.Add(8);
        mySet2.Add(15);
        mySet2.Add(20);
 
        // Check if a HashSet and a specified
        // collection share common elements
        Console.WriteLine(mySet1.Overlaps(mySet2));
    }
}


Reference:



Last Updated : 12 Jun, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads