C# 中的 SortedSet 類


C# 中的 SortedSet 類表示一個按排序順序維護的物件集合。

以下是 SortedSet 類的屬性:

序號屬性及描述
1Comparer
獲取用於對 SortedSet<T> 中的值進行排序的 IComparer<T> 物件。
2Count
獲取 SortedSet<T> 中元素的數量。
3Max
獲取 SortedSet<T> 中的最大值,由比較器定義。
4Min
獲取 SortedSet<T> 中的最小值,由比較器定義。

以下是 SortedSet 類的一些方法:

序號方法及描述
1Add(T)
將元素新增到集合中,並返回一個值,指示它是否已成功新增。
2Clear()
從集合中移除所有元素。
3Contains(T)
確定集合是否包含特定元素。
4CopyTo(T[])
將完整的 SortedSet<T> 複製到相容的一維陣列中,從目標陣列的開頭開始。
5CopyTo(T[], Int32)
將完整的 SortedSet<T> 複製到相容的一維陣列中,從指定的陣列索引開始。
6CopyTo(T[], Int32, Int32)
將指定數量的元素從 SortedSet<T> 複製到相容的一維陣列中,從指定的陣列索引開始。
7CreateSetComparer()
返回一個 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

更新於: 2019-12-11

930 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.