Tässä opetusohjelmassa opit Deque-käyttöliittymästä, sen käytöstä ja sen menetelmistä.
DequeRajapinta Java kokoelmien kehys tarjoaa toiminnallisuuden kaksipäinen jono. Se laajentaa Queuekäyttöliittymää.
Dequen työskentely
Tavallisessa jonossa elementit lisätään takaa ja poistetaan edestä. Deque- elementissä voimme kuitenkin lisätä ja poistaa elementtejä sekä edessä että takana .

Luokat, jotka toteuttavat Dequen
DequeKäyttöliittymän toimintojen käyttämiseksi meidän on käytettävä luokkia, jotka toteuttavat sen:
- ArrayDeque
- LinkedList

Kuinka Dequea käytetään?
Java-ohjelmassa java.util.Dequepaketti on tuotava käytettäväksi Deque.
// Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList();
Tässä olemme luoneet objektit animal1 ja animal2 luokkiin ArrayDeque ja LinkedList, vastaavasti. Nämä objektit voivat käyttää Dequekäyttöliittymän toimintoja .
Menetelmät Deque
Koska käyttöliittymä Dequelaajennetaan Queue, se perii kaikki jono-käyttöliittymän menetelmät.
QueueKäyttöliittymässä olevien menetelmien lisäksi Dequekäyttöliittymä sisältää myös seuraavat menetelmät:
- addFirst () - Lisää määritetyn elementin dekin alkuun. Heittää poikkeuksen, jos deque on täynnä.
- addLast () - Lisää määritetyn elementin dekin loppuun. Heittää poikkeuksen, jos deque on täynnä.
- offerFirst () - Lisää määritetyn elementin dekin alkuun. Palauttaa,
falsejos deque on täynnä. - offerLast () - Lisää määritetyn elementin dequen loppuun. Palauttaa,
falsejos deque on täynnä. - getFirst () - Palauttaa dequen ensimmäisen elementin. Heittää poikkeuksen, jos deque on tyhjä.
- getLast () - Palauttaa viimeisen elementin. Heittää poikkeuksen, jos deque on tyhjä.
- peekFirst () - Palauttaa dequen ensimmäisen elementin. Palauttaa,
nulljos deque on tyhjä. - peekLast () - Palauttaa viimeisen elementin. Palauttaa,
nulljos deque on tyhjä. - removeFirst () - Palauttaa ja poistaa dequen ensimmäisen elementin. Heittää poikkeuksen, jos deque on tyhjä.
- removeLast () - Palauttaa ja poistaa dekin viimeisen elementin. Heittää poikkeuksen, jos deque on tyhjä.
- pollFirst () - Palauttaa ja poistaa dequen ensimmäisen elementin. Palauttaa,
nulljos deque on tyhjä. - pollLast () - Palauttaa ja poistaa viimeisen elementin. Palauttaa,
nulljos deque on tyhjä.
Deque pinon tietorakenteena
StackLuokka Java Collectionspuitteet muodostavat täytäntöönpanoon pinon.
On kuitenkin suositeltavaa käyttää Dequepinona Stack-luokan sijaan. Se johtuu siitä, että menetelmät Stackovat synkronoituja.
Tässä ovat menetelmät, joita Dequekäyttöliittymä tarjoaa pinon toteuttamiseksi:
push()- lisää elementin dequen alkuunpop()- poistaa elementin dequen alustapeek()- palauttaa elementin dequen alusta
Dequen toteutus ArrayDeque-luokassa
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); ) )
Tuotos
Deque: (3, 1, 2) Ensimmäinen elementti: 3 Viimeinen elementti: 2 Poistettu ensimmäinen elementti: 3 Poistettu viimeinen elementti: 2 Päivitetty Deque: (1)
Lisätietoja on Java ArrayDequessa.








