Ответ
Queue (очередь) — это интерфейс из Java Collections Framework, представляющий коллекцию, предназначенную для хранения элементов перед обработкой в определенном порядке. Обычно это порядок FIFO (First-In-First-Out), но возможны и другие (например, по приоритету).
Основные методы:
add(e),offer(e)— вставка элемента.remove(),poll()— извлечение и удаление головного элемента.element(),peek()— получение головного элемента без удаления.
Важные реализации:
| Реализация | Описание | Особенности |
|---|---|---|
| LinkedList | Реализует и List, и Queue. |
Двусторонняя очередь, не потокобезопасна. |
| PriorityQueue | Очередь с приоритетом. | Элементы извлекаются в порядке, заданном Comparator или естественным порядком. |
| ArrayDeque | Двусторонняя очередь на основе массива. | Более эффективна, чем LinkedList, для использования в качестве стека или очереди. |
| BlockingQueue (интерфейс) | Очередь с поддержкой блокирующих операций. | Используется в многопоточных сценариях. Реализации: ArrayBlockingQueue, LinkedBlockingQueue. |
Пример использования:
Queue<String> queue = new LinkedList<>();
queue.offer("First");
queue.offer("Second");
System.out.println(queue.poll()); // "First"
System.out.println(queue.peek()); // "Second"