Java Deque

I denne vejledning lærer vi om Deque-grænsefladen, hvordan man bruger den og dens metoder.

Den Dequegrænsefladen af Java kollektioner rammer giver funktionaliteten af en dobbelt-ended kø. Det udvider Queuegrænsefladen.

Arbejde af Deque

I en almindelig kø tilføjes elementer bagfra og fjernes forfra. I en deque kan vi dog indsætte og fjerne elementer både foran og bagpå .

Klasser, der implementerer Deque

For at bruge funktionerne i Dequegrænsefladen skal vi bruge klasser, der implementerer det:

  • ArrayDeque
  • LinkedList

Hvordan bruges Deque?

I Java skal vi importere java.util.Dequepakken, der skal bruges Deque.

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

Her har vi oprettet objekter animal1 og animal2 i henholdsvis klasser ArrayDeque og LinkedList. Disse objekter kan bruge funktionerne i Dequegrænsefladen.

Metoder til Deque

Da Dequeudvider Queuegrænsefladen, arver den alle metoderne i køgrænsefladen.

Udover metoder, der er tilgængelige i Queuegrænsefladen, Dequeinkluderer grænsefladen også følgende metoder:

  • addFirst () - Tilføjer det angivne element i begyndelsen af ​​deque. Kaster en undtagelse, hvis deque er fuld.
  • addLast () - Tilføjer det angivne element i slutningen af ​​deque. Kaster en undtagelse, hvis deque er fuld.
  • offerFirst () - Tilføjer det angivne element i begyndelsen af ​​deque. Returnerer, falsehvis deque er fuld.
  • offerLast () - Tilføjer det angivne element i slutningen af ​​deque. Returnerer, falsehvis deque er fuld.
  • getFirst () - Returnerer det første element i deque. Kaster en undtagelse, hvis deque er tom.
  • getLast () - Returnerer det sidste element i deque. Kaster en undtagelse, hvis deque er tom.
  • peekFirst () - Returnerer det første element i deque. Returnerer, nullhvis deque er tom.
  • peekLast () - Returnerer det sidste element i deque. Returnerer, nullhvis deque er tom.
  • removeFirst () - Returnerer og fjerner det første element i deken. Kaster en undtagelse, hvis deque er tom.
  • removeLast () - Returnerer og fjerner det sidste element i deken. Kaster en undtagelse, hvis deque er tom.
  • pollFirst () - Returnerer og fjerner det første element i deken. Returnerer, nullhvis deque er tom.
  • pollLast () - Returnerer og fjerner det sidste element i deque. Returnerer, nullhvis deque er tom.

Deque som stack-datastruktur

Den Stackklasse af Java Collectionsrammer giver gennemførelsen af stakken.

Det anbefales dog at bruge Dequesom en stak i stedet for stakklassen. Det er fordi metoder til Stacker synkroniseret.

Her er de metoder, Dequeinterface giver til at implementere stack:

  • push() - tilføjer et element i begyndelsen af ​​deque
  • pop() - fjerner et element fra begyndelsen af ​​deque
  • peek() - returnerer et element fra begyndelsen af ​​deque

Implementering af Deque i ArrayDeque-klasse

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

Produktion

 Deque: (3, 1, 2) Første element: 3 sidste element: 2 fjernet første element: 3 fjernet sidste element: 2 opdateret Deque: (1) 

For at lære mere, besøg Java ArrayDeque.

Interessante artikler...