Интерфейс Java Deque
Интерфейс Java Deque
В этом руководстве мы узнаем об интерфейсе Deque, о том, как его использовать и о его методах.
Deque интерфейс фреймворка коллекций Java обеспечивает функциональность двусторонней очереди. Он расширяет Queue интерфейс.
Работа Deque
В обычной очереди элементы добавляются сзади и удаляются спереди. Однако в деке мы можем вставлять и удалять элементы как спереди, так и сзади. .

Классы, реализующие Deque
Чтобы использовать функциональные возможности Deque интерфейс, нам нужно использовать классы, которые его реализуют:
- ArrayDeque
- Связанный список

Как использовать Deque?
В Java мы должны импортировать java.util.Deque пакет для использования Deque .
// Array implementation of Deque
Deque<String> animal1 = new ArrayDeque<>();
// LinkedList implementation of Deque
Deque<String> animal2 = new LinkedList<>();
Здесь мы создали объекты animal1 и животное2 классов ArrayDeque и Связанный список , соответственно. Эти объекты могут использовать функции Deque интерфейс.
Методы Deque
Начиная с Deque расширяет Queue интерфейс, он наследует все методы интерфейса Queue.
Помимо методов, доступных в Queue интерфейс, Deque Интерфейс также включает следующие методы:
- добавитьFirst() - Добавляет указанный элемент в начало двухсторонней очереди. Выдает исключение, если двухсторонняя очередь заполнена.
- добавитьпоследнее() - Добавляет указанный элемент в конец очереди. Выдает исключение, если двухсторонняя очередь заполнена.
- предложениеFirst() - Добавляет указанный элемент в начало двухсторонней очереди. Возвращает
falseесли очередь заполнена. - Последнее предложение() - Добавляет указанный элемент в конец очереди. Возвращает
falseесли очередь заполнена. - getFirst() - Возвращает первый элемент очереди. Генерирует исключение, если двухсторонняя очередь пуста.
- получить последнее() - Возвращает последний элемент очереди. Генерирует исключение, если двухсторонняя очередь пуста.
- PeekFirst() - Возвращает первый элемент очереди. Возвращает
nullесли очередь пуста. - PeekLast() - Возвращает последний элемент очереди. Возвращает
nullесли очередь пуста. - удалитьFirst() - Возвращает и удаляет первый элемент очереди. Генерирует исключение, если двухсторонняя очередь пуста.
- удалить последний() - Возвращает и удаляет последний элемент очереди. Генерирует исключение, если двухсторонняя очередь пуста.
- опрос первого() - Возвращает и удаляет первый элемент очереди. Возвращает
nullесли очередь пуста. - Последний опрос() - Возвращает и удаляет последний элемент очереди. Возвращает
nullесли очередь пуста.
Запись в очередь как структура данных стека
Stack класс Java Collections framework обеспечивает реализацию стека.
Однако рекомендуется использовать Deque как стек вместо класса Stack. Это потому, что методы Stack синхронизированы.
Вот методы, которые Deque интерфейс обеспечивает реализацию стека:
push()- добавляет элемент в начало двухсторонней очередиpop()- удаляет элемент из начала двухсторонней очередиpeek()- возвращает элемент из начала двухсторонней очереди
Реализация Deque в классе ArrayDeque
import java.util.Deque;
import java.util.ArrayDeque;
class Main {
public static void main(String[] args) {
// Creating Deque using the ArrayDeque class
Deque<Integer> numbers = new ArrayDeque<>();
// add elements to the Deque
numbers.offer(1);
numbers.offerLast(2);
numbers.offerFirst(3);
System.out.println("Deque: " + numbers);
// Access elements of the Deque
int firstElement = numbers.peekFirst();
System.out.println("First Element: " + firstElement);
int lastElement = numbers.peekLast();
System.out.println("Last Element: " + lastElement);
// Remove elements from the Deque
int removedNumber1 = numbers.pollFirst();
System.out.println("Removed First Element: " + removedNumber1);
int removedNumber2 = numbers.pollLast();
System.out.println("Removed Last Element: " + removedNumber2);
System.out.println("Updated Deque: " + numbers);
}
}
Вывод
Deque: [3, 1, 2] First Element: 3 Last Element: 2 Removed First Element: 3 Removed Last Element: 2 Updated Deque: [1]
Чтобы узнать больше, посетите Java ArrayDeque.
java