Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Deque

Двусторонняя очередь: добавлять и забирать можно с обоих концов.

Доступно с: Java 1.6

Синтаксис

public interface Deque<E> extends Queue<E>, SequencedCollection<E>

Примеры

Операции с обоими концами:

void main() {
    Deque<Integer> d = new ArrayDeque<>();
    d.offerLast(2);
    d.offerFirst(1);
    d.offerLast(3);
    IO.println(d);
    IO.println(d.pollFirst() + " " + d.pollLast());
    IO.println(d);
}

Результат:

[1, 2, 3]
1 3
[2]

Примечания

Одна и та же Deque служит и очередью (offer() + poll()), и стеком (push() + pop()). У каждой операции есть версии First и Last. Реализации: ArrayDeque (обычный выбор) и LinkedList.

См. также

  • ArrayDeque — Быстрая двусторонняя очередь на массиве — замена `Stack` и `LinkedList`.
  • Deque.push() — Кладёт элемент на вершину стека (в начало двусторонней очереди).
  • Deque.pop() — Снимает и возвращает элемент с вершины стека.
  • Queue — Очередь: элементы добавляются в конец и забираются из начала.

В учебнике

  • Очереди и деки — Очереди в Java: Queue и ArrayDeque, стек на основе Deque, методы offer, poll и peek, очередь с приоритетом PriorityQueue.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.