排序列表(SortedList)
1.简介
SortedList 类代表了一系列按照键来排序的键/值对,这些键值对可以通过键和索引来访问。
排序列表是数组和哈希表的组合。
它包含一个可使用键或索引访问各项的列表。
如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则它是一个哈希表(Hashtable)。
注意:集合中的各项总是默认按照键(key)来排序。
2.特性介绍
1) SortedList 的容量是 SortedList 可以保存的元素数。SortedList 的默认初始容量为 0。随着元素添加到 SortedList 中,在需要时可以通过重新分配自动增加容量。可通过调用 TrimToSize() 方法 或通过显式设置 Capacity 属性减少容量。
2)SortedList 中不允许重复键。
3)SortedList 的索引顺序基于排序顺序。当添加元素时,元素将按正确的排序顺序插入 SortedList,同时索引会相应地进行调整。当移除元素时,索引也会相应地进行调整。因此,当在 SortedList 中添加或移除元素时,特定键/值对的索引可能会更改。
4)当不向集合中添加新元素,则调用 TrimToSize() 方法可用于最小化集合的内存开销。
5)通过设置 SortedList 中不存在的键值(例如,myCollection[“myNonexistentKey”] = myValue),还可以使用 Item 属性添加新元素。但是,如果指定的键已经存在于 SortedList 中,则设置 Item 属性将改写旧值。相比之下,Add 方法不修改现有元素。
6)键不能为空引用(在 Visual Basic 中为 Nothing),但值可以。若要区分由于未找到指定键而返回的 空引用(在 Visual Basic 中为 Nothing) 和由于指定键的值为 空引用(在 Visual Basic 中为 Nothing) 而返回的 空引用(在 Visual Basic 中为 Nothing),请使用 Contains 方法或 ContainsKey 方法确定列表中是否存在该键。
SortedList 类的方法和属性
1. SortedList 类的一些常用的 属性:
属性 | 描述 |
Capacity | 获取或设置容量 |
Count | 获取元素个数 |
IsFixedSize | 是否具有固定大小 |
IsReadOnly | 是否只读 |
Keys | 获取所有键 |
Values | 获取所有值 |
2. SortedList 类的一些常用的 方法:
方法 | 描述 |
---|---|
void Add( object key, object value ); | 添加指定键/值对元素 |
void Clear(); | 移除所有元素 |
bool ContainsKey( object key ); | 判断是否包含指定的键 |
bool ContainsValue( object value ); | 判断是否包含指定的值 |
object GetByIndex( int index ); | 获取指定索引处的值 |
object GetKey( int index ); | 获取指定索引处的键 |
IList GetKeyList(); | 获所有件键的列表 |
IList GetValueList(); | 获所有件值的列表 |
int IndexOfKey( object key ); | 返回指定键的索引,索引从零开始 |
int IndexOfValue( object value ); | 返回指定值第一 |