U ovom uputstvu naučit ćemo o Deque sučelju, kako ga koristiti i njegovim metodama.
Deque
Sučelje Java zbirki okvira pruža funkcionalnost red s dva kraja. Proširuje Queue
suč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 Deque
sučelja, trebamo koristiti klase koje ga implementiraju:
- ArrayDeque
- LinkedList
Kako koristiti Deque?
U Javi moramo uvesti java.util.Deque
paket 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 Deque
sučelja.
Metode Dequea
Budući da Deque
proširuje Queue
sučelje, nasljeđuje sve metode sučelja reda čekanja.
Osim metoda dostupnih u Queue
sučelju, Deque
suč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
false
ako je deque pun. - offerLast () - dodaje navedeni element na kraju deque-a. Vraća
false
ako 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
null
ako je deque prazan. - peekLast () - Vraća posljednji element deque-a. Vraća
null
ako 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
null
ako je deque prazan. - pollLast () - Vraća i uklanja posljednji element deque-a. Vraća
null
ako je deque prazan.
Deque kao struktura podataka steka
Stack
Klasa Java Collections
okvir osigurava provedbu stog.
Međutim, preporuča se koristiti Deque
kao stog umjesto klase Stack. To je zato što su metode Stack
sinkronizirane.
Evo metoda koje Deque
sučelje pruža za implementaciju stoga:
push()
- dodaje element na početku dequepop()
- uklanja element s početka dequepeek()
- 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.