VB.Net Tutorial/Collections/Queue
Enqueue, Dequeue and Peek
<source lang="vbnet">Imports System
Imports System.Collections Class Tester Public Sub Run( ) End Sub "Run Public Shared Sub DisplayValues(ByVal myCollection As IEnumerable) Dim myEnumerator As IEnumerator = myCollection.GetEnumerator( ) While myEnumerator.MoveNext( ) Console.WriteLine("{0} ", myEnumerator.Current) End While Console.WriteLine( ) End Sub "DisplayValues Shared Sub Main( ) Dim intQueue As New Queue( ) " populate the array Dim i As Integer For i = 0 To 4 intQueue.Enqueue((i * 5)) Next i " Display the Queue. Console.WriteLine("intQueue values:") DisplayValues(intQueue) " Remove an element from the queue. Console.WriteLine("(Dequeue) {0}", intQueue.Dequeue( )) " Display the Queue. Console.WriteLine("intQueue values:") DisplayValues(intQueue) " Remove another element from the queue. Console.WriteLine("(Dequeue) {0}", intQueue.Dequeue( )) " Display the Queue. Console.WriteLine("intQueue values:") DisplayValues(intQueue) " View the first element in the " Queue but do not remove. Console.WriteLine("(Peek) {0}", intQueue.Peek( )) " Display the Queue. Console.WriteLine("intQueue values:") DisplayValues(intQueue) End Sub "Main End Class "Tester</source>
intQueue values: 0 5 10 15 20 (Dequeue) 0 intQueue values: 5 10 15 20 (Dequeue) 5 intQueue values: 10 15 20 (Peek) 10 intQueue values: 10 15 20
Queue
<source lang="vbnet">Option Strict On Imports System.Collections Public Module modMain
Public Sub Main() Dim waitingPassengers As New Queue Console.WriteLine(waitingPassengers.Count) waitingPassengers.Enqueue("asdf") Console.WriteLine(waitingPassengers.Peek()) Console.WriteLine(waitingPassengers.Count) Console.WriteLine(waitingPassengers.Dequeue()) End Sub
End Module</source>
0 asdf 1 asdf
Queue.Enqueue and ToArray
<source lang="vbnet">Imports System.Collections public class Test
Private Shared m_Queue As New Queue public Shared Sub Main m_Queue.Enqueue("A") DisplayQueue() m_Queue.Enqueue("B") DisplayQueue() m_Queue.Enqueue("C") DisplayQueue() Dim txt As String = DirectCast(m_Queue.Dequeue(), String) Console.WriteLine(txt) DisplayQueue() End Sub Private Shared Sub DisplayQueue() For Each str As String In m_Queue.ToArray() Console.WriteLine(str) Next str End Sub
End class</source>
A A B A B C A B C