跳至内容

Visual Basic .NET/集合

来自维基教科书,开放的书,开放的世界

VB.NET 支持许多称为集合的数据结构。集合可以是基于零的或基于一的,具体取决于它们是如何声明的。集合类似于数组,因为它可以存储多个数据条目。但是,大多数集合都有与之关联的更高级的方法,这些方法将它们与数组区分开来。其中一些集合包括

ArrayList

[编辑 | 编辑源代码]

ArrayList 是一个动态数组,其大小根据需要增大或缩小,并将元素存储为泛型 Object,这使我们能够存储不同类型的对象。

Add 方法

[编辑 | 编辑源代码]

要将对象添加到 ArrayList,请使用 System.Collections.ArrayList.Add(Object) 方法。以下是将 String 对象添加到 Arraylist 的示例。

   Module Module1
   Sub Main()

       Dim MyArrayList As System.Collections.ArrayList = New ArrayList()
       MyArrayList.add(New String("a"))
       MyArrayList.add(New String("b"))
       MyArrayList.add(New String("c"))
       MyArrayList.add(New String("d"))
       Console.WriteLine("Press enter to continue")
       Console.ReadLine()

   End Sub
   End Module

Queue 是一个先进先出类型的集合。Queue 具有两种独特的方法用于将信息入队和出队。使用 System.Collections.Queue.Enqueue 方法,可以将对象添加到集合的末尾。稍后可以使用 System.Collections.Queue.Dequeue 方法删除项目。此方法将获取 Queue 集合中的第一个对象,然后将其从该集合中删除。

float
float

Stack 是一个后进先出类型的集合。Stack 具有三种独特的方法用于存储和检索信息。使用 System.Collections.Stack.Push 方法,可以将对象添加到堆栈的顶部,将下面的对象压入堆栈。稍后可以使用 System.Collections.Stack.Pop 方法从堆栈中删除项目。此方法将返回堆栈顶部的对象并将其从堆栈中删除。另一种方法 System.Collections.Stack.Peek 与 Pop 方法类似,但它返回对象 *不* 从堆栈中删除它。

SortedList

[编辑 | 编辑源代码]

SortedList 集合是按索引(类似于数组)和键排序的对象集合。键的工作方式类似于索引;但是,与索引不同,键可以是任何对象。

泛型提供适用于各种数据类型的数据结构。虽然上面讨论的集合将项目存储为对象,但泛型集合将值存储在更具体的类型中,例如 String 或 Integer。

List(Of Type) 允许通过索引或作为集合访问一组值。因此,您可以在同一组上混合使用数组和集合语法

       Dim Weekdays As New List(Of String)
       Weekdays.Add("Monday")
       Weekdays.Add("Tuesday")
       Weekdays.Add("Wednesday")
       Weekdays.Add("Thursday")
       Weekdays.Add("Friday")
       
       Console.WriteLine("Accessing members by index...")
       For i As Integer = Weekdays.Count - 1 To 0 Step -1
           Console.WriteLine(Weekdays(i))
       Next i
       Console.WriteLine("Accessing members as a collection...")
       For Each s As String In Weekdays
           Console.WriteLine(s)
       Next s
华夏公益教科书