SortedSet 類表示按排序順序的對象集合。此類位於 System.Collections.Generic 命名空間下。
特征:
- 在 C# 中,SortedSet 類可用於存儲、刪除或查看元素。
- 它保持升序並且不存儲重複元素。
- 如果您必須存儲唯一元素並保持升序,建議使用SortedSet類。
Constructors
構造函數 | 說明 |
---|---|
SortedSet() | 初始化 SortedSet 類的新實例。 |
SortedSet(IComparer) | 初始化使用指定比較器的 SortedSet 類的新實例。 |
SortedSet(IEnumerable) | 初始化 SortedSet 類的新實例,其中包含從指定可枚舉集合複製的元素。 |
SortedSet(IEnumerable, IComparer) | 初始化 SortedSet 類的新實例,該實例包含從指定可枚舉集合複製的元素並使用指定的比較器。 |
SortedSet(SerializationInfo, StreamingContext) | 初始化包含序列化數據的 SortedSet 類的新實例。 |
例子:
// C# code to create a SortedSet
using System;
using System.Collections.Generic;
class GFG {
// Driver code
public static void Main()
{
// Creating a SortedSet of integers
SortedSet<int> mySortedSet = new SortedSet<int>();
// Adding elements in mySortedSet
for (int i = 1; i <= 6; i++) {
mySortedSet.Add(2 * i + 1);
}
// Displaying elements in mySortedSet
Console.WriteLine("The elements in mySortedSet are : ");
// Displaying the element in mySortedSet
foreach(int i in mySortedSet)
{
Console.WriteLine(i);
}
}
}
輸出:
The elements in mySortedSet are : 3 5 7 9 11 13
Properties
屬性 | 說明 |
---|---|
Comparer | 獲取用於對 SortedSet 中的值進行排序的 IComparer 對象。 |
Count | 獲取 SortedSet 中的元素數量。 |
Max | 獲取 SortedSet 中由比較器定義的最大值。 |
Min | 獲取 SortedSet 中由比較器定義的最小值。 |
例子:
// C# code to illustrate the properties
// of SortedSet<T> Class
using System;
using System.Collections.Generic;
class GFG {
// Driver code
public static void Main()
{
// Creating a SortedSet of integers
SortedSet<int> mySortedSet = new SortedSet<int>();
// adding elements in mySortedSet
mySortedSet.Add(1);
mySortedSet.Add(2);
mySortedSet.Add(3);
mySortedSet.Add(4);
mySortedSet.Add(5);
// ------ Count property ----------
// Displaying the number of elements in
// the SortedSet using "Count" property
Console.WriteLine("The number of elements in mySortedSet are: "
+ mySortedSet.Count);
// ---------- Min property ----------
// Displaying the minimum value in the SortedSet
Console.WriteLine("The minimum element in SortedSet is : "
+ mySortedSet.Min);
}
}
輸出:
The number of elements in mySortedSet are: 5 The minimum element in SortedSet is : 1
Methods
方法 | 說明 |
---|---|
Add(T) | 向集合中添加一個元素並返回一個值,指示該元素是否已成功添加。 |
Clear() | 從集合中移除所有元素。 |
Contains(T) | 確定集合是否包含特定元素。 |
CopyTo() | 將 SortedSet<T> 的部分或全部複製到兼容的一維數組,從目標數組的開頭或指定索引處開始。 |
CreateSetComparer() | 返回一個 IEqualityComparer 對象,該對象可用於創建包含各個集的集合。 |
CreateSetComparer(IEqualityComparer) | 根據指定的比較器返回 IEqualityComparer 對象,該對象可用於創建包含各個集合的集合。 |
Equals(Object) | 確定指定對象是否等於當前對象。 |
ExceptWith(IEnumerable) | 從當前 SortedSet 對象中刪除指定集合中的所有元素。 |
GetEnumerator() | 返回一個遍曆 SortedSet 的枚舉器。 |
GetHashCode() | 用作默認的哈希函數。 |
GetObjectData(SerializationInfo, StreamingContext) | 實現 ISerialized 接口並返回序列化 SortedSet 對象所需的數據。 |
GetType() | 獲取當前實例的類型。 |
GetViewBetween(T, T) | 返回 SortedSet 中子集的視圖。 |
IntersectWith(IEnumerable) | 修改當前SortedSet對象,使其僅包含也在指定集合中的元素。 |
IsProperSubsetOf(IEnumerable) | 確定SortedSet對象是否是指定集合的真子集。 |
IsProperSupersetOf(IEnumerable) | 確定 SortedSet 對象是否是指定集合的真超集。 |
IsSubsetOf(IEnumerable) | 確定 SortedSet 對象是否是指定集合的子集。 |
IsSupersetOf(IEnumerable) | 確定 SortedSet 對象是否是指定集合的超集。 |
MemberwiseClone() | 創建當前對象的淺拷貝。 |
OnDeserialization(Object) | 實現 ISerialized 接口,並在反序列化完成時引發反序列化事件。 |
Overlaps(IEnumerable) | 確定當前SortedSet對象和指定集合是否共享公共元素。 |
Remove(T) | 從 SortedSet 中刪除指定的項目。 |
RemoveWhere(Predicate) | 從 SortedSet 中刪除與指定謂詞定義的條件匹配的所有元素。 |
Reverse() | 返回以相反順序迭代 SortedSet 的 IEnumerable。 |
SetEquals(IEnumerable) | 確定當前SortedSet對象和指定集合是否包含相同的元素。 |
SymmetricExceptWith(IEnumerable) | 修改當前SortedSet對象,使其僅包含當前對象或指定集合中存在的元素,但不能同時包含兩者。 |
ToString() | 返回表示當前對象的字符串。 |
TryGetValue(T, T) | 在集合中搜索給定值並返回找到的相等值(如果有)。 |
UnionWith(IEnumerable) | 修改當前SortedSet對象,使其包含當前對象或指定集合中存在的所有元素。 |
例子:
// C# code to illustrate the methods
// of SortedSet<T> Class
using System;
using System.Collections.Generic;
class GFG {
// Driver code
public static void Main()
{
// Creating a SortedSet of integers
SortedSet<int> mySortedSet = new SortedSet<int>();
// adding elements in mySortedSet
mySortedSet.Add(2);
mySortedSet.Add(4);
mySortedSet.Add(6);
mySortedSet.Add(8);
mySortedSet.Add(10);
//-------- Remove Method --------
// Removing element "4" if found
mySortedSet.Remove(4);
// Displaying the elements in mySortedSet
foreach(int i in mySortedSet)
{
Console.WriteLine(i);
}
Console.WriteLine("After Using Method");
// Removing element "14" if found
mySortedSet.Remove(14);
// Displaying the element in mySortedSet
foreach(int i in mySortedSet)
{
Console.WriteLine(i);
}
// -------- IsSubsetOf Method --------
// Creating a SortedSet of integers
SortedSet<int> mySet2 = new SortedSet<int>();
// Inserting elements in SortedSet
mySet2.Add(3);
mySet2.Add(4);
mySet2.Add(5);
mySet2.Add(6);
// Check if a SortedSet is a subset
// of the specified collection
// It should return false as SortedSet mySet2
// is not a subset of SortedSet mySet1
Console.WriteLine(mySet2.IsSubsetOf(mySortedSet));
}
}
輸出:
2 6 8 10 After Using Method 2 6 8 10 False
參考:
相關用法
- C# SortedDictionary.Clear()用法及代碼示例
- C# SortedDictionary.ContainsValue()用法及代碼示例
- C# SortedDictionary.Remove()用法及代碼示例
- C# SortedDictionary.Add()用法及代碼示例
- C# SortedDictionary.Count用法及代碼示例
- C# SortedDictionary.Item[]用法及代碼示例
- C# SortedDictionary.Keys用法及代碼示例
- C# SortedDictionary.Values用法及代碼示例
- C# SortedList用法及代碼示例
- C# SortedList和SortedDictionary的區別用法及代碼示例
- C# String Clone()用法及代碼示例
- C# String Compare()用法及代碼示例
- C# String CompareOrdinal()用法及代碼示例
- C# String CompareTo()用法及代碼示例
- C# String Concat()用法及代碼示例
- C# String Contains()用法及代碼示例
- C# String Copy()用法及代碼示例
- C# String CopyTo()用法及代碼示例
- C# String EndsWith()用法及代碼示例
- C# String Equals()用法及代碼示例
- C# String Format()用法及代碼示例
- C# String GetEnumerator()用法及代碼示例
- C# String IndexOf()用法及代碼示例
- C# String Insert()用法及代碼示例
- C# String IsInterned()用法及代碼示例
注:本文由純淨天空篩選整理自Sahil_Bansall大神的英文原創作品 C# | SortedSet Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。