C# | Intersection of two HashSets
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
Syntax:
mySet1.IntersectWith(mySet2)
Here mySet1 and mySet2 are the two HashSets.
Exception: This method will give ArgumentNullException if the HashSet is null.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to find Intersection //of two HashSets 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 >(); // Creating a HashSet of integers HashSet< int > mySet2 = new HashSet< int >(); // Inserting even numbers less than // equal to 10 in HashSet mySet1 Console.WriteLine( "Elements in Set 1 :" ); for ( int i = 0; i < 5; i++) { mySet1.Add(i * 2); Console.WriteLine(i * 2); } // Inserting odd numbers less than // equal to 10 in HashSet mySet2 Console.WriteLine( "Elements in Set 2 : " ); for ( int i = 0; i < 5; i++) { mySet1.Add(i * 2 + 1); Console.WriteLine(i *2 + 1); } // Creating a new HashSet that contains // the Intersection of both the HashSet mySet1 & mySet2 HashSet< int > ans = new HashSet< int >(mySet1); ans.IntersectWith(mySet2); // Printing the Intersection of both the HashSets // It should show no element in the output // as there is no element common in both // the HashSets foreach ( int i in ans) { Console.WriteLine(i); } } } |
Output:
Elements in Set 1 : 0 2 4 6 8 Elements in Set 2 : 1 3 5 7 9
Example 2:
// C# code to find Intersection // of two HashSets 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 >(); // Creating a HashSet of strings HashSet< string > mySet2 = new HashSet< string >(); // Inserting elements in mySet1 mySet1.Add( "Hello" ); mySet1.Add( "Geeks" ); mySet1.Add( "GeeksforGeeks" ); // Inserting elements in mySet2 mySet2.Add( "Geeks" ); mySet2.Add( "and" ); mySet2.Add( "GeeksforGeeks" ); mySet2.Add( "are" ); mySet2.Add( "the" ); mySet2.Add( "best" ); // Creating a new HashSet that contains // the Intersection of both the HashSet mySet1 & mySet2 HashSet< string > ans = new HashSet< string >(mySet1); ans.IntersectWith(mySet2); // Printing the Intersection of both the HashSet foreach ( string i in ans) { Console.WriteLine(i); } } } |
Output:
Geeks GeeksforGeeks
Reference:
Please Login to comment...