Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 두 HashSet의 교차점

<시간/>

두 HashSet의 교집합을 찾는 코드는 다음과 같습니다. -

예시

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main(){
      HashSet<string> set1 = new HashSet<string>();
      set1.Add("AB");
      set1.Add("CD");
      set1.Add("EF");
      set1.Add("AB");
      set1.Add("IJ");
      set1.Add("KL");
      set1.Add("EF");
      set1.Add("OP");
      Console.WriteLine("Elements in HashSet1");
      foreach(string val in set1){
         Console.WriteLine(val);
      }
      HashSet<string> set2 = new HashSet<string>();
      set2.Add("EF");
      set2.Add("KL");
      Console.WriteLine("\nElements in HashSet2");
      foreach(string val in set2){
         Console.WriteLine(val);
      }
      Console.WriteLine("Count of elements in HashSet2 = " + set2.Count);
      set2.Remove("KL");
      Console.WriteLine("\nElements in HashSet2... (UPDATED)");
      foreach (string res in set2){
         Console.WriteLine(res);
      }
      Console.WriteLine("Count of elements in HashSet2 (Updated) = " + set2.Count);
      Console.WriteLine("\nIs set1 a superset of set2? "+set1.IsSupersetOf(set2));
      set1.IntersectWith(set2);
      Console.WriteLine("\nIntersection result...");
      foreach(string str in set1){
         Console.WriteLine(str);
      }
   }
}

출력

이것은 다음과 같은 출력을 생성합니다 -

Elements in HashSet1
AB
CD
EF
IJ
KL
OP
Elements in HashSet2
EF
KL
Count of elements in HashSet2 = 2 Elements in HashSet2... (UPDATED)
EF
Count of elements in HashSet2 (Updated) = 1
Is set1 a superset of set2? True Intersection result...
EF

예시

이제 다른 예를 살펴보겠습니다 -

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main(){
      HashSet<int> set1 = new HashSet<int>();
      set1.Add(30);
      set1.Add(60);
      set1.Add(70);
      set1.Add(80);
      set1.Add(100);
      set1.Add(125);
      Console.WriteLine("Elements in HashSet1");
      foreach(int val in set1){
         Console.WriteLine(val);
      }
      HashSet<int> set2 = new HashSet<int>();
      set2.Add(30);
      set2.Add(60);
      set2.Add(70);
      set2.Add(80);
      set2.Add(100);
      set2.Add(125);
      Console.WriteLine("\nElements in HashSet2");
      foreach(int val in set2){
         Console.WriteLine(val);
      }
      set1.IntersectWith(set2);
      Console.WriteLine("\nIntersection result...");
      foreach(int val in set1){
         Console.WriteLine(val);
      }
   }
}

출력

이것은 다음과 같은 출력을 생성합니다 -

Elements in HashSet1
30
60
70
80
100
125
Elements in HashSet2
30
60
70
80
100
125
Intersection result...
30
60
70
80
100
125