HashSet是唯一元素的无序集合。它位于System.Collections.Generic命名空间下。它用于我们要防止将重复项插入到集合中的情况。就性能而言,与列表相比更好。对于两个HashSet的并集, HashSet
句法:
firstSet.UnionWith(secondSet)
异常:如果Set为null,则此方法给出ArgumentNullException 。
下面给出了一些示例,以更好地理解实现:
范例1:
// C# code to find Union of two HashSet
using System;
using System.Collections.Generic;
class GFG {
// Driver code
public static void Main()
{
// Creating a HashSet of integers
HashSet mySet1 = new HashSet();
// Creating a HashSet of integers
HashSet mySet2 = new HashSet();
// Inserting even numbers less than
// equal to 10 in HashSet mySet1
for (int i = 0; i < 5; i++) {
mySet1.Add(i * 2);
}
// Inserting odd numbers less than
// equal to 10 in HashSet mySet2
for (int i = 0; i < 5; i++) {
mySet1.Add(i * 2 + 1);
}
// Creating a new HashSet that contains
// the union of both the HashSet mySet1 & mySet2
HashSet ans = new HashSet(mySet1);
ans.UnionWith(mySet2);
// Printing the union of both the HashSet
foreach(int i in ans)
{
Console.WriteLine(i);
}
}
}
输出:
0
2
4
6
8
1
3
5
7
9
范例2:
// C# code to find Union of two HashSet
using System;
using System.Collections.Generic;
class GFG {
// Driver code
public static void Main()
{
// Creating a HashSet of strings
HashSet mySet1 = new HashSet();
// Creating a HashSet of strings
HashSet mySet2 = new HashSet();
// Inserting elements in mySet1
mySet1.Add("Hello");
mySet1.Add("GeeksforGeeks");
mySet1.Add("GeeksforGeeks");
// Inserting elements in mySet2
mySet2.Add("You");
mySet2.Add("are");
mySet2.Add("the");
mySet2.Add("best");
// Creating a new HashSet that contains
// the union of both the HashSet mySet1 & mySet2
HashSet ans = new HashSet(mySet1);
ans.UnionWith(mySet2);
// Printing the union of both the HashSet
foreach(string i in ans)
{
Console.WriteLine(i);
}
}
}
输出:
Hello
GeeksforGeeks
You
are
the
best
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.generic.hashset-1.unionwith?view=netframework-4.7.2