C# | Check if a HashSet and a specified collection share common elements
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(); } } |
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("Beginner"); mySet1.Add("w3wiki"); mySet1.Add("BeginnerClasses"); mySet1.Add("BeginnerQuiz"); // 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:
- https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1.overlaps?view=netframework-4.7.2
Contact Us