VB.Net - 栈



它表示一个后进先出 (LIFO) 的对象集合。当您需要后进先出的项目访问时,可以使用它。当您向列表中添加项目时,称为推送项目;当您将其移除时,称为弹出项目。

Stack 类的属性和方法

下表列出了一些常用的Stack类的属性

序号 属性和描述
1

Count

获取 Stack 中包含的元素数量。

下表列出了一些常用的Stack类的方法

序号 方法名称和用途
1

Public Overridable Sub Clear

移除 Stack 中的所有元素。

2

Public Overridable Function Contains (obj As Object) As Boolean

确定 Stack 中是否包含元素。

3

Public Overridable Function Peek As Object

返回 Stack 顶部的对象,但不将其移除。

4

Public Overridable Function Pop As Object

移除并返回 Stack 顶部的对象。

5

Public Overridable Sub Push (obj As Object)

在 Stack 顶部插入一个对象。

6

Public Overridable Function ToArray As Object()

将 Stack 复制到一个新数组。

示例

以下示例演示了 Stack 的用法:

Module collections
   Sub Main()
      Dim st As Stack = New Stack()
      st.Push("A")
      st.Push("M")
      st.Push("G")
      st.Push("W")
      Console.WriteLine("Current stack: ")
      Dim c As Char
      
      For Each c In st
         Console.Write(c + " ")
      Next c
      Console.WriteLine()
      st.Push("V")
      st.Push("H")
      Console.WriteLine("The next poppable value in stack: {0}", st.Peek())
      Console.WriteLine("Current stack: ")
      
      For Each c In st
         Console.Write(c + " ")
      Next c
      Console.WriteLine()
      Console.WriteLine("Removing values ")
      st.Pop()
      st.Pop()
      st.Pop()
      Console.WriteLine("Current stack: ")
      
      For Each c In st
         Console.Write(c + " ")
      Next c
      Console.ReadKey()
   End Sub
End Module

编译并执行上述代码后,将产生以下结果:

Current stack: 
W G M A
The next poppable value in stack: H
Current stack: 
H V W G M A
Removing values
Current stack: 
G M A
vb.net_collections.htm
广告