Java Deque

В този урок ще научим за интерфейса Deque, как да го използваме и неговите методи.

В Dequeинтерфейса на колекции рамките на Java осигурява функционалността на опашка двоен накрайник. Той разширява Queueинтерфейса.

Работа на Deque

В обикновена опашка елементи се добавят отзад и се отстраняват отпред. Въпреки това, в deque, можем да вмъкваме и премахваме елементи отпред и отзад .

Класове, които прилагат Deque

За да използваме функционалностите на Dequeинтерфейса, трябва да използваме класове, които го реализират:

  • ArrayDeque
  • LinkedList

Как да използвам Deque?

В Java трябва да импортираме java.util.Dequeпакета, който да използваме Deque.

 // Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList(); 

Тук създадохме обекти animal1 и animal2 от класове ArrayDeque и LinkedList, съответно. Тези обекти могат да използват функционалностите на Dequeинтерфейса.

Методи на Deque

Тъй като Dequeразширява Queueинтерфейса, той наследява всички методи на интерфейса на опашката.

Освен наличните в Queueинтерфейса методи , Dequeинтерфейсът включва и следните методи:

  • addFirst () - Добавя посочения елемент в началото на deque. Изхвърля изключение, ако deque е пълен.
  • addLast () - Добавя посочения елемент в края на deque. Изхвърля изключение, ако deque е пълен.
  • offerFirst () - Добавя посочения елемент в началото на deque. Връща, falseако deque е пълен.
  • offerLast () - Добавя посочения елемент в края на deque. Връща, falseако deque е пълен.
  • getFirst () - Връща първия елемент на deque. Изхвърля изключение, ако deque е празен.
  • getLast () - Връща последния елемент на deque. Изхвърля изключение, ако deque е празен.
  • peekFirst () - Връща първия елемент на deque. Връща, nullако deque е празен.
  • peekLast () - Връща последния елемент на deque. Връща, nullако deque е празен.
  • removeFirst () - Връща и премахва първия елемент на deque. Изхвърля изключение, ако deque е празен.
  • removeLast () - Връща и премахва последния елемент на deque. Изхвърля изключение, ако deque е празен.
  • pollFirst () - Връща и премахва първия елемент на deque. Връща, nullако deque е празен.
  • pollLast () - Връща и премахва последния елемент на deque. Връща, nullако deque е празен.

Deque като структура на данните за стека

В Stackкласа на Java Collectionsрамка осигурява изпълнението на стека.

Препоръчва се обаче да се използва Dequeкато стек вместо клас Stack. Това е така, защото методите на Stackса синхронизирани.

Ето методите, които Dequeинтерфейсът предоставя за изпълнение на стека:

  • push() - добавя елемент в началото на deque
  • pop() - премахва елемент от началото на deque
  • peek() - връща елемент от началото на deque

Внедряване на 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 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) Първи елемент: 3 Последен елемент: 2 Премахнат Първи елемент: 3 Премахнат Последен елемент: 2 Актуализиран Deque: (1) 

За да научите повече, посетете Java ArrayDeque.

Интересни статии...