Поделиться через


Тип коллекций Queue

Классы System.Collections.Queue, System.Collections.Generic.Queue<T> и System.Collections.Concurrent.ConcurrentQueue<T> являются классами коллекций типа "первым вошел — первым вышел", которые реализуют интерфейс ICollection и универсальный интерфейс ICollection<T>.

Очереди и стеки полезны, когда требуется временное хранилище для данных, то есть когда элемент может быть удален после того, как его значение было получено. Объект Queue следует использовать, если доступ к данным требуется осуществлять в том же порядке, в каком они хранятся в коллекции. Объект Stack следует использовать, если требуется осуществлять доступ к данным в обратном порядке. Объект ConcurrentQueue<T> или ConcurrentStack<T> следует использовать, если необходим параллельный доступ к коллекции из нескольких потоков.

Три основные операции, которые могут быть применены к объекту Queue и его элементам:

  • Метод Enqueue добавляет элемент в конец Queue.

  • метод Dequeue удаляет самый старый элемент из начала очереди Queue; Метод TryDequeue возвращает false (False в Visual Basic), если значение не может быть удалено.

  • Метод Peek возвращает самый старый элемент, находящийся в начале очереди Queue, но не удаляет его из очереди Queue.

См. также

Ссылки

Queue

System.Collections.Generic.Queue<T>

Stack

System.Collections.Generic.Stack<T>

ICollection

System.Collections.Generic.ICollection<T>

ConcurrentQueue<T>

ConcurrentStack<T>

System.Collections.Concurrent.IProducerConsumerCollection<T>

Основные понятия

Часто используемые типы коллекций

Потокобезопасные коллекции