Java Deque

In deze tutorial zullen we leren over de Deque-interface, hoe deze te gebruiken en zijn methoden.

De Dequeinterface van het Java-verzamelingsraamwerk biedt de functionaliteit van een dubbele wachtrij. Het breidt de Queueinterface uit.

Werking van Deque

In een gewone wachtrij worden elementen van achteren toegevoegd en van voren verwijderd. In een deque kunnen we echter elementen zowel van voren als van achteren plaatsen en verwijderen .

Klassen die Deque implementeren

Om de functionaliteiten van de Dequeinterface te gebruiken, moeten we klassen gebruiken die het implementeren:

  • ArrayDeque
  • LinkedList

Hoe gebruikt u Deque?

In Java moeten we het java.util.Dequepakket importeren om te gebruiken Deque.

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

Hier hebben we objecten animal1 en animal2 gemaakt van respectievelijk de klassen ArrayDeque en LinkedList. Deze objecten kunnen de functionaliteiten van de Dequeinterface gebruiken.

Methoden van Deque

Omdat Dequehet de Queueinterface uitbreidt , neemt het alle methoden van de wachtrij-interface over.

Naast methoden die beschikbaar zijn in de Queueinterface, bevat de Dequeinterface ook de volgende methoden:

  • addFirst () - Voegt het opgegeven element toe aan het begin van de deque. Gooit een uitzondering als de kaart vol is.
  • addLast () - Voegt het opgegeven element toe aan het einde van de deque. Gooit een uitzondering als de kaart vol is.
  • offerFirst () - Voegt het opgegeven element toe aan het begin van de deque. Retourneert falseals de kaart vol is.
  • offerLast () - Voegt het opgegeven element toe aan het einde van de deque. Retourneert falseals de kaart vol is.
  • getFirst () - Retourneert het eerste element van de deque. Gooit een uitzondering als de kaart leeg is.
  • getLast () - Retourneert het laatste element van de deque. Gooit een uitzondering als de kaart leeg is.
  • peekFirst () - Retourneert het eerste element van de deque. Retourneert nullals de kaart leeg is.
  • peekLast () - Retourneert het laatste element van de deque. Retourneert nullals de kaart leeg is.
  • removeFirst () - Retourneert en verwijdert het eerste element van de deque. Gooit een uitzondering als de kaart leeg is.
  • removeLast () - Retourneert en verwijdert het laatste element van de deque. Gooit een uitzondering als de kaart leeg is.
  • pollFirst () - Retourneert en verwijdert het eerste element van de deque. Retourneert nullals de kaart leeg is.
  • pollLast () - Retourneert en verwijdert het laatste element van de deque. Retourneert nullals de kaart leeg is.

Deque als Stack-gegevensstructuur

De Stackklasse van het Java- Collectionsframework zorgt voor de implementatie van de stack.

Het wordt echter aanbevolen om Dequeals stapel te gebruiken in plaats van de klasse Stack. Het is omdat de methoden Stackworden gesynchroniseerd.

Dit zijn de methoden die de Dequeinterface biedt om stack te implementeren:

  • push() - voegt een element toe aan het begin van deque
  • pop() - verwijdert een element uit het begin van deque
  • peek() - geeft een element terug vanaf het begin van deque

Implementatie van Deque in 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); ) ) 

Uitvoer

 Deque: (3, 1, 2) Eerste element: 3 Laatste element: 2 Verwijderd Eerste element: 3 Verwijderd Laatste element: 2 Bijgewerkt Deque: (1) 

Bezoek Java ArrayDeque voor meer informatie.

Interessante artikelen...