C# 中的 SortedSet 类
C# 中的 SortedSet 类表示一个按排序顺序维护的对象集合。
以下是 SortedSet 类的属性:
序号 | 属性及描述 |
---|---|
1 | Comparer 获取用于对 SortedSet<T> 中的值进行排序的 IComparer<T> 对象。 |
2 | Count 获取 SortedSet<T> 中元素的数量。 |
3 | Max 获取 SortedSet<T> 中的最大值,由比较器定义。 |
4 | Min 获取 SortedSet<T> 中的最小值,由比较器定义。 |
以下是 SortedSet 类的一些方法:
序号 | 方法及描述 |
---|---|
1 | Add(T) 将元素添加到集合中,并返回一个值,指示它是否已成功添加。 |
2 | Clear() 从集合中移除所有元素。 |
3 | Contains(T) 确定集合是否包含特定元素。 |
4 | CopyTo(T[]) 将完整的 SortedSet<T> 复制到兼容的一维数组中,从目标数组的开头开始。 |
5 | CopyTo(T[], Int32) 将完整的 SortedSet<T> 复制到兼容的一维数组中,从指定的数组索引开始。 |
6 | CopyTo(T[], Int32, Int32) 将指定数量的元素从 SortedSet<T> 复制到兼容的一维数组中,从指定的数组索引开始。 |
7 | CreateSetComparer() 返回一个 IEqualityComparer 对象,可用于创建包含各个集合的集合。 |
示例
现在让我们看一些示例:
要检查 SortedSet 是否包含特定元素,代码如下:
using System; using System.Collections.Generic; public class Demo { public static void Main() { SortedSet<string> set1 = new SortedSet<string>(); set1.Add("CD"); set1.Add("CD"); set1.Add("CD"); set1.Add("CD"); Console.WriteLine("Elements in SortedSet1..."); foreach (string res in set1) { Console.WriteLine(res); } Console.WriteLine("Does the SortedSet1 contains the element DE? = "+set1.Contains("DE")); SortedSet<string> set2 = new SortedSet<string>(); set2.Add("BC"); set2.Add("CD"); set2.Add("DE"); set2.Add("EF"); set2.Add("AB"); set2.Add("HI"); set2.Add("JK"); Console.WriteLine("Elements in SortedSet2..."); foreach (string res in set2) { Console.WriteLine(res); } Console.WriteLine("SortedSet2 is a superset of SortedSet1? = "+set2.IsSupersetOf(set1)); } }
输出
这将产生以下输出:
Elements in SortedSet1... CD Does the SortedSet1 contains the element DE? = False Elements in SortedSet2... AB BC CD DE EF HI JK SortedSet2 is a superset of SortedSet1? = True
要获取一个遍历 SortedSet 的枚举器,代码如下:
示例
using System; using System.Collections.Generic; public class Demo { public static void Main(){ SortedSet<string> set1 = new SortedSet<string>(); set1.Add("AB"); set1.Add("BC"); set1.Add("CD"); set1.Add("EF"); Console.WriteLine("Elements in SortedSet1..."); foreach (string res in set1) { Console.WriteLine(res); } SortedSet<string> set2 = new SortedSet<string>(); set2.Add("BC"); set2.Add("CD"); set2.Add("DE"); set2.Add("EF"); set2.Add("AB"); set2.Add("HI"); set2.Add("JK"); Console.WriteLine("Elements in SortedSet2 (Enumerator for SortedSet)..."); SortedSet<string>.Enumerator demoEnum = set2.GetEnumerator(); while (demoEnum.MoveNext()) { string res = demoEnum.Current; Console.WriteLine(res); } } }
输出
这将产生以下输出:
Elements in SortedSet1... AB BC CD EF Elements in SortedSet2 (Enumerator for SortedSet)... AB BC CD DE EF HI JK
广告