Visual Basic 动态数组(ArrayList)
动态数组(ArrayList
) 表示一个可以单独索引的对象的有序集合。它基本上是一个数组的替代品。 但是,与数组不同,可以使用 索引 在指定位置添加和删除列表中的项,并且数组自动调整大小。 它还支持动态内存分配,添加,搜索和排序列表中的项。
ArrayList 类的属性和方法
下表列出了 ArrayList
类的一些常用属性:
编号 | 属性 & 描述 |
---|---|
1 | Capacity 获取或设置 ArrayList 可以包含的元素数。 |
2 | Count 获取 ArrayList 中实际包含的元素数。 |
3 | IsFixedSize 获取一个值,该值表示 ArrayList 是否具有固定大小。 |
4 | IsReadOnly 获取一个值,该值表示 ArrayList 是否为只读。 |
5 | Item 获取或设置指定索引处的元素。 |
下表列出了 ArrayList
类的一些常用方法:
编号 | 方法名称 & 用途 |
---|---|
1 | Public Overridable Function Add (value As Object) As Integer 将对象添加到 ArrayList 的末尾。 |
2 | Public Overridable Sub AddRange (c As ICollection) 将 ICollection 的元素添加到 ArrayList 的末尾。 |
3 | Public Overridable Sub Clear 从 ArrayList 中删除所有元素。 |
4 | Public Overridable Function Contains (item As Object) As Boolean 确定元素是否在 ArrayList 中。 |
5 | Public Overridable Function GetRange (index As Integer, count As Integer ) As ArrayList 返回 ArrayList,它表示源 ArrayList 中元素的子集。 |
6 | Public Overridable Function IndexOf (value As Object) As Integer 返回 ArrayList 或其一部分中首次出现的值的索引,从 0 开始。 |
7 | Public Overridable Sub Insert (index As Integer, value As Object) 在指定索引处将元素插入 ArrayList。 |
8 | Public Overridable Sub InsertRange (index As Integer, c As ICollection) 在指定索引处将集合的元素插入 ArrayList。 |
9 | Public Overridable Sub Remove (obj As Object ) 从 ArrayList 中删除特定对象的第一个匹配项。 |
10 | Public Overridable Sub RemoveAt (index As Integer) 删除 ArrayList 指定索引处的元素。 |
11 | Public Overridable Sub RemoveRange (index As Integer, count As Integer) 从 ArrayList 中删除一系列元素。 |
12 | Public Overridable Sub Reverse 反转 ArrayList 中元素的顺序。 |
13 | Public Overridable Sub SetRange (index As Integer, c As ICollection ) 在 ArrayList 中的一系列元素上复制集合的元素。 |
14 | Public Overridable Sub Sort 对 ArrayList 中的元素排序。 |
15 | Public Overridable Sub TrimToSize 将容量设置为 ArrayList 中的实际元素数。 |
实例
Sub Main()
Dim al As ArrayList = New ArrayList()
Dim i As Integer
Console.WriteLine("Adding some numbers:")
al.Add(45)
al.Add(78)
al.Add(33)
al.Add(56)
al.Add(12)
al.Add(23)
al.Add(9)
Console.WriteLine("Capacity: {0} ", al.Capacity)
Console.WriteLine("Count: {0}", al.Count)
Console.Write("Content: ")
For Each i In al
Console.Write("{0} ", i)
Next i
Console.WriteLine()
Console.Write("Sorted Content: ")
al.Sort()
For Each i In al
Console.Write("{0} ", i)
Next i
Console.WriteLine()
Console.ReadKey()
End Sub
End Module
结果如下:
Adding some numbers:
Capacity: 8
Count: 7
Content: 45 78 33 56 12 23 9
Sorted Content: 9 12 23 33 45 56 78