总目录
C# 语法总目录
集合四 Set
- [1. Set](#1. Set)
1. Set
有 HashSet 和 SortedSet,
- 它们都不包含重复元素
- 忽略添加重复值的请求
- 无法根据位置访问元素
- 使用Contains方法均使用散列查找,所以速度快
SortedSet 按照一定顺序保存元素,使用红黑树实现,而HashSet是根据Hash值保存元素和查找元素。
csharp
HashSet<int> evenNumbers = new HashSet<int>();
HashSet<int> oddNumbers = new HashSet<int>();
for (int i = 0; i < 5; i++)
{
// Populate numbers with just even numbers.
evenNumbers.Add(i * 2);
// Populate oddNumbers with just odd numbers.
oddNumbers.Add((i * 2) + 1);
}
foreach (var item in evenNumbers)
{
Console.WriteLine(item);
}
Console.WriteLine("--------------------------");
foreach (var item in oddNumbers)
{
Console.WriteLine(item);
}
Console.WriteLine("--------------------------");
csharp
HashSet<int> numbers = new HashSet<int>(evenNumbers);
foreach (var item in numbers)
{
Console.WriteLine(item);
}
Console.WriteLine("--------------------------");
numbers.UnionWith(oddNumbers);
foreach (var item in numbers)
{
Console.WriteLine(item);
}
csharp
/*
2
4
6
8
--------------------------
1
3
5
7
9
--------------------------
0
2
4
6
8
--------------------------
0
2
4
6
8
1
3
5
7
9
*/
总目录
C# 语法总目录