Back to questions
СБЕР
Junior — Middle
62
Можете ли вы объяснить основные отличия между структурами данных Queue и Deque?
Companies where asked
Answer from AI
sobes.tech AI
Queue и Deque — это структуры данных для хранения элементов с определённым порядком извлечения, но с разными возможностями:
-
Queue (очередь) — это структура данных, работающая по принципу FIFO (First In, First Out). Элементы добавляются в конец и извлекаются из начала. Пример: очередь задач.
-
Deque (двунаправленная очередь) — расширение Queue, позволяющее добавлять и удалять элементы как с начала, так и с конца. Это даёт больше гибкости, например, для реализации стека или очереди.
В Java интерфейс Queue поддерживает операции offer(), poll(), peek(), а Deque добавляет методы addFirst(), addLast(), removeFirst(), removeLast() и т.д.
Пример использования Deque как стека:
Deque<Integer> stack = new ArrayDeque<>();
stack.push(1); // добавляет элемент сверху
stack.push(2);
int top = stack.pop(); // извлекает 2
Таким образом, Deque более универсальна, чем Queue.