Очередь (Queue)
Queue - коллекция, предназначенная для хранения элементов в порядке, нужном для их обработки. В дополнение к базовым операциям интерфейса Collection, очередь предоставляет дополнительные операции вставки, получения и контроля.
Очереди обычно, но не обязательно, упорядочивают элементы в FIFO (first-in-first-out, "первым вошел - первым вышел") порядке.
Метод offer() вставляет элемент в очередь, если это не удалось - возвращает false. Этот метод отличается от метода add() интерфейса Collection тем, что метод add() может неудачно добавить элемент только с использованием unchecked исключения.
Методы remove() и poll() удаляют верхушку очереди и возвращают ее. Какой элемент будет удален (первый или последний) зависит от реализации очереди. Методы remove() и poll() отличаются лишь поведением, когда очередь пустая: метод remove() генерирует исключение, а метод poll() возвращает null.
Методы element() и peek() возвращают (но не удаляют) верхушку очереди.
Пример 1: (пример программы таймера обратного отсчета.)
Пример 2: (приоритетная очередь используется, чтобы сортировать набор элементов.)
Вопрос 1.
Что общего у очереди (Queue) с понятием стека? В чем разница?
Вопрос 2.
Как сортировать элементы очереди?
Last updated