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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。