Java Deque

U ovom uputstvu naučit ćemo o Deque sučelju, kako ga koristiti i njegovim metodama.

DequeSučelje Java zbirki okvira pruža funkcionalnost red s dva kraja. Proširuje Queuesučelje.

Rad Dequea

U redovnom redu, elementi se dodaju straga i uklanjaju sprijeda. Međutim, u dequeu možemo umetnuti i ukloniti elemente i s prednje i sa stražnje strane .

Razredi koji implementiraju Deque

Da bismo koristili funkcionalnosti Dequesučelja, trebamo koristiti klase koje ga implementiraju:

  • ArrayDeque
  • LinkedList

Kako koristiti Deque?

U Javi moramo uvesti java.util.Dequepaket za upotrebu Deque.

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

Ovdje smo stvorili objekte animal1 i animal2 klasa ArrayDeque odnosno LinkedList. Ti objekti mogu koristiti funkcionalnosti Dequesučelja.

Metode Dequea

Budući da Dequeproširuje Queuesučelje, nasljeđuje sve metode sučelja reda čekanja.

Osim metoda dostupnih u Queuesučelju, Dequesučelje također uključuje sljedeće metode:

  • addFirst () - dodaje navedeni element na početku deque-a. Baca iznimku ako je deque pun.
  • addLast () - dodaje navedeni element na kraju deque-a. Baca iznimku ako je deque pun.
  • offerFirst () - dodaje navedeni element na početku deque-a. Vraća falseako je deque pun.
  • offerLast () - dodaje navedeni element na kraju deque-a. Vraća falseako je deque pun.
  • getFirst () - Vraća prvi element deque-a. Baca iznimku ako je deque prazan.
  • getLast () - Vraća posljednji element deque-a. Baca iznimku ako je deque prazan.
  • peekFirst () - Vraća prvi element deque-a. Vraća nullako je deque prazan.
  • peekLast () - Vraća posljednji element deque-a. Vraća nullako je deque prazan.
  • removeFirst () - Vraća i uklanja prvi element deque-a. Baca iznimku ako je deque prazan.
  • removeLast () - Vraća i uklanja posljednji element deque-a. Baca iznimku ako je deque prazan.
  • pollFirst () - Vraća i uklanja prvi element deque-a. Vraća nullako je deque prazan.
  • pollLast () - Vraća i uklanja posljednji element deque-a. Vraća nullako je deque prazan.

Deque kao struktura podataka steka

StackKlasa Java Collectionsokvir osigurava provedbu stog.

Međutim, preporuča se koristiti Dequekao stog umjesto klase Stack. To je zato što su metode Stacksinkronizirane.

Evo metoda koje Dequesučelje pruža za implementaciju stoga:

  • push() - dodaje element na početku deque
  • pop() - uklanja element s početka deque
  • peek() - vraća element s početka deque

Implementacija Dequea u klasi 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); ) ) 

Izlaz

 Deque: (3, 1, 2) Prvi element: 3 Posljednji element: 2 Uklonjen Prvi element: 3 Uklonjen zadnji element: 2 Ažurirano Deque: (1) 

Da biste saznali više, posjetite Java ArrayDeque.

Zanimljivi članci...