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 dequepop()- tar bort ett element från början av dequepeek()- 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.








