Класс Queue(Of T)
представляет набор однотипных объектов, который работает по алгоритму FIFO ("первый вошел - первый вышел"),
то есть как стандартная очередь.
Рассмотрим некоторые основные методы класса Queue(Of T)
:
Dequeue: извлекает и возвращает первый элемент очереди
Enqueue: добавляет элемент в конец очереди
Peek: просто возвращает первый элемент из начала очереди без его удаления
Теперь рассмотрим применение класса очереди в программе:
Module Module1 Sub Main() Dim nums As New Queue(Of Integer)() nums.Enqueue(3) 'в очереди 3 nums.Enqueue(5) 'в очереди 3, 5 nums.Enqueue(8) 'в очереди 3, 5, 8 'получение первого элемента очереди с его извлечением Dim queueElement As Integer = nums.Dequeue() 'теперь в очереди 5, 8 Console.WriteLine(queueElement) Dim people As New Queue(Of Person)() people.Enqueue(New Person() With {.Name = "Tom"}) people.Enqueue(New Person() With {.Name = "Bill"}) people.Enqueue(New Person() With {.Name = "John"}) 'получение первого элемента без его извлечения Dim pp As Person = people.Peek() Console.WriteLine(pp.Name) Console.WriteLine("Сейчас в очереди {0} человек", people.Count) 'теперь в очереди Tom, Bill, John For Each p As Person In people Console.WriteLine(p.Name) Next 'Извлекаем первый элемент в очереди - Tom Dim tom As Person = people.Dequeue() 'теперь в очереди Bill, John Console.WriteLine(tom.Name) Console.ReadLine() End Sub Class Person Public Property Name() As String End Class End Module