Java Deque

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 alkuun
  • pop() - poistaa elementin dequen alusta
  • peek() - 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.

Mielenkiintoisia artikkeleita...