Java Deque

I denne opplæringen vil vi lære om Deque-grensesnittet, hvordan du bruker det, og dets metoder.

Den Dequegrensesnittet til Java samlinger rammeverket gir funksjonaliteten til en dobbel-ended køen. Det utvider Queuegrensesnittet.

Arbeid av Deque

I en vanlig kø blir elementer lagt til bakfra og fjernet fra fronten. I en deque kan vi imidlertid sette inn og fjerne elementer både foran og bak .

Klasser som implementerer Deque

For å kunne bruke funksjonene til Dequegrensesnittet, må vi bruke klasser som implementerer det:

  • ArrayDeque
  • LinkedList

Hvordan bruker Deque?

I Java må vi importere java.util.Dequepakken for å bruke Deque.

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

Her har vi laget objekter animal1 og animal2 i henholdsvis klassene ArrayDeque og LinkedList. Disse objektene kan bruke funksjonene til Dequegrensesnittet.

Metoder for Deque

Siden Dequeutvider Queuegrensesnittet, arver det alle metodene i køgrensesnittet.

Foruten metoder som er tilgjengelige i Queuegrensesnittet, inkluderer Dequegrensesnittet også følgende metoder:

  • addFirst () - Legger til det angitte elementet i begynnelsen av dekningen. Kaster et unntak hvis deque er full.
  • addLast () - Legger til det angitte elementet på slutten av deque. Kaster et unntak hvis deque er full.
  • offerFirst () - Legger til det angitte elementet i begynnelsen av dekningen. Returnerer falsehvis deque er full.
  • offerLast () - Legger til det angitte elementet på slutten av deque. Returnerer falsehvis deque er full.
  • getFirst () - Returnerer det første elementet i deken. Kaster et unntak hvis deque er tom.
  • getLast () - Returnerer det siste elementet i deken. Kaster et unntak hvis deque er tom.
  • peekFirst () - Returnerer det første elementet i deken. Returnerer nullhvis dekken er tom.
  • peekLast () - Returnerer det siste elementet i deque. Returnerer nullhvis deque er tom.
  • removeFirst () - Returnerer og fjerner det første elementet i deken. Kaster et unntak hvis deque er tom.
  • removeLast () - Returnerer og fjerner det siste elementet i dekken. Kaster et unntak hvis deque er tom.
  • pollFirst () - Returnerer og fjerner det første elementet i deken. Returnerer nullhvis dekken er tom.
  • pollLast () - Returnerer og fjerner det siste elementet i deken. Returnerer nullhvis dekken er tom.

Dekke som stabeldatastruktur

Den Stackklassen av Java Collectionsrammeverk gir gjennomføringen av stabelen.

Det anbefales imidlertid å bruke Dequesom en stabel i stedet for Stack-klassen. Det er fordi metoder for Stacker synkronisert.

Her er metodene Dequegrensesnittet gir for å implementere stack:

  • push() - legger til et element i begynnelsen av deque
  • pop() - fjerner et element fra begynnelsen av deque
  • peek() - returnerer et element fra begynnelsen av deque

Implementering av Deque i ArrayDeque Class

 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); ) ) 

Produksjon

 Deque: (3, 1, 2) Første element: 3 siste element: 2 fjernet første element: 3 fjernet siste element: 2 oppdatert Deque: (1) 

For å lære mer, besøk Java ArrayDeque.

Interessante artikler...