SortedList 類是根據鍵排序的(鍵,值)對的集合。這些對可以通過鍵和索引(從零開始的索引)訪問。它位於 System.Collections 命名空間下。
SortedList 類的特征:
- SortedList 元素可以通過其鍵或索引進行訪問。
- SortedList 對象內部維護兩個數組來存儲列表的元素,即一個數組用於鍵,另一個數組用於關聯值。
- 鍵不能為空,但值可以。
- SortedList 對象的容量是 SortedList 可以容納的元素數量。
- SortedList 不允許重複的鍵。
- 由於排序的原因,對 SortedList 對象的操作往往比對 Hashtable 對象的操作慢。
- 可以使用整數索引來訪問此集合中的元素。該集合中的索引是從零開始的。
Constructors
構造函數 | 說明 |
---|---|
SortedList() | 初始化 SortedList 類的新實例,該實例為空,具有默認初始容量,並根據添加到 SortedList 對象的每個鍵實現的 IComparable 接口進行排序。 |
SortedList(IComparer) | 初始化 SortedList 類的新實例,該實例為空,具有默認初始容量,並根據指定的 IComparer 接口進行排序。 |
排序列表(IComparer,Int32) | 初始化 SortedList 類的新實例,該實例為空、具有指定的初始容量,並根據指定的 IComparer 接口進行排序。 |
SortedList(IDictionary) | 初始化 SortedList 類的新實例,該實例包含從指定字典複製的元素,具有與複製的元素數量相同的初始容量,並根據每個鍵實現的 IComparable 接口進行排序。 |
SortedList(IDictionary, IComparer) | 初始化 SortedList 類的新實例,該實例包含從指定字典複製的元素,具有與複製的元素數量相同的初始容量,並根據指定的 IComparer 接口進行排序。 |
排序列表(Int32) | 初始化 SortedList 類的新實例,該實例為空、具有指定的初始容量,並根據添加到 SortedList 對象的每個鍵實現的 IComparable 接口進行排序。 |
例子:
// C# Program to create a SortedList
using System;
using System.Collections;
class Geeks {
// Main Method
public static void Main(String[] args)
{
// Creating object of SortedList
// fslist is the SortedList object
SortedList fslist = new SortedList();
// Count property is used to get the
// number of key/value pairs in fslist
// It will give 0 as no pairs are present
Console.WriteLine(fslist.Count);
}
}
輸出:
0
Properties
屬性 | 說明 |
---|---|
Capacity | 獲取或設置SortedList對象的容量。 |
Count | 獲取 SortedList 對象中包含的元素數量。 |
IsFixedSize | 獲取一個值,該值指示SortedList 對象是否具有固定大小。 |
IsReadOnly | 獲取一個值,該值指示SortedList 對象是否為隻讀。 |
IsSynchronized | 獲取一個值,該值指示對 SortedList 對象的訪問是否同步(線程安全)。 |
項目[對象] | 獲取和設置與 SortedList 對象中的特定鍵關聯的值。 |
Keys | 獲取 SortedList 對象中的鍵。 |
Values | 獲取 SortedList 對象中的值。 |
例子:
// C# Program to illustrate the
// properties of SortedList Class
using System;
using System.Collections;
class GFG {
// Driver code
public static void Main()
{
// Creating an SortedList
SortedList mySortedList = new SortedList();
// Adding elements to SortedList
mySortedList.Add("1", "one");
mySortedList.Add("2", "two");
mySortedList.Add("3", "three");
mySortedList.Add("4", "four");
mySortedList.Add("5", "five");
// Checking if a SortedList
// object has a fixed size
Console.WriteLine(mySortedList.IsFixedSize);
// Checking if the created
// SortedList is read-only or not
Console.WriteLine(mySortedList.IsReadOnly);
}
}
輸出:
False False
Methods
方法 | 說明 |
---|---|
Add(Object, Object) | 將具有指定鍵和值的元素添加到 SortedList 對象。 |
Clear() | 從 SortedList 對象中刪除所有元素。 |
Clone() | 創建 SortedList 對象的淺拷貝。 |
Contains(Object) | 確定 SortedList 對象是否包含特定鍵。 |
ContainsKey(Object) | 確定 SortedList 對象是否包含特定鍵。 |
ContainsValue(Object) | 確定 SortedList 對象是否包含特定值。 |
複製到(數組,Int32) | 從數組中的指定索引開始,將 SortedList 元素複製到一維 Array 對象。 |
Equals(Object) | 確定指定對象是否等於當前對象。 |
按索引獲取(Int32) | 獲取 SortedList 對象的指定索引處的值。 |
GetEnumerator() | 返回一個 IDictionaryEnumerator 對象,該對象迭代 SortedList 對象。 |
GetHashCode() | 用作默認的哈希函數。 |
獲取 key (Int32) | 獲取 SortedList 對象的指定索引處的鍵。 |
GetKeyList() | 獲取 SortedList 對象中的鍵。 |
GetType() | 獲取當前實例的類型。 |
GetValueList() | 獲取 SortedList 對象中的值。 |
IndexOfKey(Object) | 返回 SortedList 對象中指定鍵的從零開始的索引。 |
IndexOfValue(Object) | 返回 SortedList 對象中指定值第一次出現的從零開始的索引。 |
MemberwiseClone() | 創建當前對象的淺拷貝。 |
Remove(Object) | 從 SortedList 對象中刪除具有指定鍵的元素。 |
刪除 (Int32) | 刪除 SortedList 對象的指定索引處的元素。 |
按索引設置(Int32,對象) | 替換 SortedList 對象中特定索引處的值。 |
Synchronized(SortedList) | 返回 SortedList 對象的同步(線程安全)包裝器。 |
ToString() | 返回表示當前對象的字符串。 |
TrimToSize() | 將容量設置為 SortedList 對象中的實際元素數。 |
示例 1:
// C# code to remove all
// elements from a SortedList
using System;
using System.Collections;
class GFG {
// Driver code
public static void Main()
{
// Creating an SortedList
SortedList mySortedList = new SortedList();
// Adding elements to SortedList
mySortedList.Add("1", "1st");
mySortedList.Add("2", "2nd");
mySortedList.Add("3", "3rd");
mySortedList.Add("4", "4th");
mySortedList.Add("5", "5th");
mySortedList.Add("6", "6th");
mySortedList.Add("7", "7th");
// Displaying number of elements
Console.WriteLine("Number of elements in SortedList is : "
+ mySortedList.Count);
// Displaying capacity
Console.WriteLine("capacity of SortedList is : "
+ mySortedList.Capacity);
// Removing all elements from SortedList
mySortedList.Clear();
// Displaying number of elements
Console.WriteLine("Number of elements in SortedList is : "
+ mySortedList.Count);
// Displaying capacity
Console.WriteLine("capacity of SortedList is : "
+ mySortedList.Capacity);
}
}
輸出:
Number of elements in SortedList is : 7 capacity of SortedList is : 16 Number of elements in SortedList is : 0 capacity of SortedList is : 16
示例 2:
// C# code to check if a SortedList
// object contains a specific value
using System;
using System.Collections;
class GFG {
// Driver code
public static void Main()
{
// Creating an SortedList
SortedList mySortedList = new SortedList();
// Adding elements to SortedList
mySortedList.Add("1", "1st");
mySortedList.Add("2", "2nd");
mySortedList.Add("3", "3rd");
mySortedList.Add("4", "4th");
// Checking if a SortedList object
// contains a specific value
Console.WriteLine(mySortedList.ContainsValue(null));
}
}
輸出:
False
參考:
相關用法
- C# SortedList和SortedDictionary的區別用法及代碼示例
- 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# SortedSet用法及代碼示例
- 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()用法及代碼示例
注:本文由純淨天空篩選整理自Kirti_Mangal大神的英文原創作品 C# | SortedList Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。