C# | Intersección de dos HashSets

Un HashSet es una colección desordenada de elementos únicos. Se encuentra en el espacio de nombres System.Collections.Generic . Se utiliza en una situación en la que queremos evitar que se inserten duplicados en la colección. En cuanto al rendimiento, es mejor en comparación con la lista. HashSet.IntersectWith(IEnumerable) Métodose usa para modificar el objeto HashSet actual para que contenga solo los elementos que están presentes en ese objeto y en la colección especificada.

Sintaxis:

mySet1.IntersectWith(mySet2)

Aquí mySet1 y mySet2 son los dos HashSets.

Excepción: este método dará ArgumentNullException si el HashSet es nulo .

A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:

Ejemplo 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);
        }
    }
}
Producción:

Elements in Set 1 :
0
2
4
6
8
Elements in Set 2 : 
1
3
5
7
9

Ejemplo 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);
        }
    }
}
Producción:

Geeks
GeeksforGeeks

Referencia:

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *