Queue
Очередь: элементы добавляются в конец и забираются из начала.
Доступно с: Java 1.5
Синтаксис
public interface Queue<E> extends Collection<E>Примеры
Очередь «первым пришёл — первым ушёл»:
void main() {
Queue<String> line = new ArrayDeque<>();
line.offer("Anna");
line.offer("Oleg");
line.offer("Ivan");
while (!line.isEmpty()) {
IO.println("Serving " + line.poll());
}
}Результат:
Serving Anna
Serving Oleg
Serving IvanПримечания
Основные методы парами: offer()/add() добавляют, poll()/remove() забирают, peek()/element() смотрят на первый элемент. Первый метод пары при неудаче возвращает false или null, второй бросает исключение. Обычная реализация — ArrayDeque, очередь с приоритетом — PriorityQueue.
См. также
- Queue.offer() — Добавляет элемент в конец очереди.
- Queue.poll() — Забирает и удаляет первый элемент очереди.
- Queue.peek() — Возвращает первый элемент очереди, не удаляя его.
- ArrayDeque — Быстрая двусторонняя очередь на массиве — замена `Stack` и `LinkedList`.
- PriorityQueue — Очередь, которая всегда выдаёт наименьший (или самый приоритетный) элемент.
В учебнике
- Очереди и деки — Очереди в Java: Queue и ArrayDeque, стек на основе Deque, методы offer, poll и peek, очередь с приоритетом PriorityQueue.