Java Deque

I den här handledningen lär vi oss om Deque-gränssnittet, hur man använder det och dess metoder.

Det Dequegränssnitt samlingar ramen för Java ger funktionaliteten hos en dubbel slutade kö. Det utökar Queuegränssnittet.

Arbeta av Deque

I en vanlig kö läggs element till bakifrån och tas bort från framsidan. I en deque kan vi dock sätta in och ta bort element både fram och bak .

Klasser som implementerar Deque

För att kunna använda funktionerna i Dequegränssnittet måste vi använda klasser som implementerar det:

  • ArrayDeque
  • Länkad lista

Hur använder jag Deque?

I Java måste vi importera java.util.Dequepaketet för att kunna använda Deque.

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

Här har vi skapat objekt animal1 respektive animal2 i klasserna ArrayDeque respektive LinkedList. Dessa objekt kan använda Dequegränssnittets funktioner .

Metoder för Deque

Eftersom det Dequeutvidgar Queuegränssnittet ärver det alla metoder i kögränssnittet.

Förutom tillgängliga metoder i Queuegränssnittet Dequeinnehåller gränssnittet även följande metoder:

  • addFirst () - Lägger till det angivna elementet i början av deken. Kaster ett undantag om deken är full.
  • addLast () - Lägger till det angivna elementet i slutet av deque. Kaster ett undantag om deken är full.
  • offerFirst () - Lägger till det angivna elementet i början av deken. Returnerar falseom deken är full.
  • offerLast () - Lägger till det angivna elementet i slutet av deque. Returnerar falseom deken är full.
  • getFirst () - Returnerar det första elementet i deque. Kaster ett undantag om deken är tom.
  • getLast () - Returnerar det sista elementet i deken. Kaster ett undantag om deken är tom.
  • peekFirst () - Returnerar det första elementet i deque. Returnerar nullom deken är tom.
  • peekLast () - Returnerar det sista elementet i deque. Returnerar nullom deken är tom.
  • removeFirst () - Returnerar och tar bort det första elementet i deken. Kaster ett undantag om deken är tom.
  • removeLast () - Returnerar och tar bort det sista elementet i deken. Kaster ett undantag om deken är tom.
  • pollFirst () - Returnerar och tar bort det första elementet i deken. Returnerar nullom deken är tom.
  • pollLast () - Returnerar och tar bort det sista elementet i deken. Returnerar nullom deken är tom.

Deque som stapeldatastruktur

Den Stackklass av Java Collectionsramverket ger genomförandet av stapeln.

Det rekommenderas dock att använda Dequesom en stack istället för Stack-klassen. Det beror på att metoder för Stackär synkroniserade.

Här är metoderna som Dequegränssnittet ger för att implementera stack:

  • push() - lägger till ett element i början av deque
  • pop() - tar bort ett element från början av deque
  • peek() - returnerar ett element från början av deque

Implementering av Deque i ArrayDeque-klass

 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örsta element: 3 sista element: 2 borttaget första element: 3 borttaget sista element: 2 uppdaterat deque: (1) 

För att lära dig mer, besök Java ArrayDeque.

Intressanta artiklar...