Visual Basic 排序列表(SortedList)
SortedList
类表示 键值对 的集合,这些 键值对 按键 (key) 排序,并可根据键 (key) 和索引 (index) 来访问。
排序列表 (SortedList) 是数组和哈希表 (Hashtable) 的组合。它包含可以使用键或索引访问的项列表。如果使用索引访问项,则它是一个 ArrayList。如果使用 key 访问项,则它是一个哈希表。项集合始终按键值排序。
SortedList 类的属性和方法
下表列出了 SortedList
类的一些常用属性:
编号 | 属性 & 描述 |
---|---|
1 | Capacity 获取或设置 SortedList 的容量。 |
2 | Count 获取 SortedList 中包含的元素数。 |
3 | IsFixedSize 获取一个值,该值表示 SortedList 是否具有固定大小。 |
4 | IsReadOnly 获取一个值,该值表示 SortedList 是否为只读。 |
5 | Item 获取并设置与 SortedList 中特定 key 键关联的 value 值。 |
6 | Keys 获取 SortedList 中的 key 键。 |
7 | 值s 获取 SortedList 中的 value 值。 |
下表列出了 SortedList
类的一些常用方法:
编号 | 方法 Name & 用途 |
---|---|
1 | Public Overridable Sub Add (key As Object, value As Object) 将具有指定 key 键和 value 值的元素添加到 SortedList 中。 |
2 | Public Overridable Sub Clear 删除 SortedList 中的所有元素。 |
3 | Public Overridable Function ContainsKey (key As Object) As Boolean 确定 SortedList 是否包含特定 key 键。 |
4 | Public Overridable Function Contains Value (value As Object) As Boolean 确定 SortedList 是否包含特定 value 值。 |
5 | Public Overridable Function GetByIndex (index As Integer) As Object 获取 SortedList 的指定索引处的 value 值。 |
6 | Public Overridable Function GetKey (index As Integer) As Object 获取 SortedList 指定索引处的 key 键。 |
7 | Public Overridable Function GetKeyList As IList 获取 SortedList 中的 key 键。 |
8 | Public Overridable Function Get Value List As IList 获取 SortedList 中的 value 键。 |
9 | Public Overridable Function IndexOfKey (key As Object) As Integer 返回 SortedList 中指定键的索引,从 0 开始。 |
10 | Public Overridable Function IndexOf Value (value As Object ) As Integer 返回 SortedList 中第一次出现的指定值的索引,从 0 开始。 |
11 | Public Overridable Sub Remove (key As Object) 从 SortedList 中删除具有指定 key 键的元素。 |
12 | Public Overridable Sub RemoveAt (index As Integer) 删除 SortedList 指定索引处的元素。 |
13 | Public Overridable Sub TrimToSize 将容量设置为 SortedList 中的实际元素数。 |
实例
Module collections
Sub Main()
Dim sl As SortedList = New SortedList()
sl.Add("001", "Zara Ali")
sl.Add("002", "Abida Rehman")
sl.Add("003", "Joe Holzner")
sl.Add("004", "Mausam Benazir Nur")
sl.Add("005", "M. Amlan")
sl.Add("006", "M. Arif")
sl.Add("007", "Ritesh Saikia")
If (sl.ContainsValue("Nuha Ali")) Then
Console.WriteLine("This student name is already in the list")
Else
sl.Add("008", "Nuha Ali")
End If
' Get a collection of the keys.
Dim key As ICollection = sl.Keys
Dim k As String
For Each k In key
Console.WriteLine(" {0} : {1}", k, sl(k))
Next k
Console.ReadKey()
End Sub
End Module
结果如下:
001 : Hakou lee
002 : Abida Rehman
003 : Joe Holzner
004 : Mausam Benazir Nur
005 : M. Amlan
006 : M. Arif
007 : Ritesh Wong
008 : Nuha Ali