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 中的实际元素数。


实例

  1. Module collections
  2. Sub Main()
  3. Dim sl As SortedList = New SortedList()
  4. sl.Add("001", "Zara Ali")
  5. sl.Add("002", "Abida Rehman")
  6. sl.Add("003", "Joe Holzner")
  7. sl.Add("004", "Mausam Benazir Nur")
  8. sl.Add("005", "M. Amlan")
  9. sl.Add("006", "M. Arif")
  10. sl.Add("007", "Ritesh Saikia")
  11. If (sl.ContainsValue("Nuha Ali")) Then
  12. Console.WriteLine("This student name is already in the list")
  13. Else
  14. sl.Add("008", "Nuha Ali")
  15. End If
  16. ' Get a collection of the keys.
  17. Dim key As ICollection = sl.Keys
  18. Dim k As String
  19. For Each k In key
  20. Console.WriteLine(" {0} : {1}", k, sl(k))
  21. Next k
  22. Console.ReadKey()
  23. End Sub
  24. End Module

结果如下:

  1. 001 : Hakou lee
  2. 002 : Abida Rehman
  3. 003 : Joe Holzner
  4. 004 : Mausam Benazir Nur
  5. 005 : M. Amlan
  6. 006 : M. Arif
  7. 007 : Ritesh Wong
  8. 008 : Nuha Ali

分类导航