В классеQueueопределяются приведенные ниже конструкторы.
public Queue
public Queue (int
public Queue (int
В первой форме конструктора создается пустая очередь с выбираемыми по умолчанию емкостью и коэффициентом роста 2,0. Во второй форме создается пустая очередь, первоначальный размер которой определяет емкость, задаваемая параметром
В классеQueueопределяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Некоторые из наиболее часто используемых методов этого класса перечислены в табл. 25.8. Эти методы обычно применяются следующим образом. Для того чтобы поместить объект в очередь, вызывается методEnqueue . Если требуется извлечь' и удалить первый объект из начала очереди, то вызывается методDequeue. Если же требуется извлечь, но не удалять следующий объект из очереди, то вызывается метод Реек . А если методыDequeueOиРеек вызываются, когда очередь пуста, то генерируется исключениеInvalidOperationException.
Таблица 25.8. Наиболее часто используемые методы, определенные в классе Queue
Метод
Описание
public virtual void Clear
public virtual bool Contains(object obj)
public virtual object Dequeue
public virtual void Enqueue(object obj)
Устанавливает свойство Count равным нулю, очищая, по существу, очередь
Возвращает логическое значение true, если объект obj содержится в вызывающей очереди, а иначе — логическое значение false Возвращает объект из начала вызывающей очереди. Возвращаемый объект удаляется из очереди Добавляет объект obj в конец очереди
Метод
Описание
public virtual object Peek
public static Queue Synchronized(Queue
public virtual object[] ToArray
public virtual void TrimToSize
Возвращает объект из начала вызывающей очереди, но не удаляет его
Возвращает синхронизированный вариант коллекции типа Queue, передаваемой в качестве параметра
Возвращает массив, который содержит копии элементов из вызывающей очереди Устанавливает значение свойства Capacity равным значению свойства Count
В приведенном ниже примере программы демонстрируется применение класса
Queue.
// Продемонстрировать применение класса Queue.
using System;
using System.Collections;
class QueueDemo {
static void ShowEnq(Queue q, int a) { q.Enqueue(a) ;
Console.WriteLine("Поместить в очередь: Enqueue(" + a + ")");