Java Deque

In diesem Tutorial lernen wir die Deque-Oberfläche, ihre Verwendung und ihre Methoden kennen.

Die DequeSchnittstelle des Java-Sammlungsframeworks bietet die Funktionalität einer Warteschlange mit zwei Enden. Es erweitert die QueueSchnittstelle.

Arbeiten von Deque

In einer regulären Warteschlange werden Elemente von hinten hinzugefügt und von vorne entfernt. In einer Deque können wir jedoch Elemente sowohl von vorne als auch von hinten einfügen und entfernen .

Klassen, die Deque implementieren

Um die Funktionen der DequeSchnittstelle nutzen zu können, müssen Klassen verwendet werden, die sie implementieren:

  • ArrayDeque
  • LinkedList

Wie benutzt man Deque?

In Java müssen wir das java.util.Dequezu verwendende Paket importieren Deque.

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

Hier haben wir Objekte animal1 und animal2 der Klassen ArrayDeque bzw. LinkedList erstellt. Diese Objekte können die Funktionen der DequeSchnittstelle nutzen.

Methoden der Deque

Da Dequedie QueueSchnittstelle erweitert wird, erbt sie alle Methoden der Warteschlangenschnittstelle.

Neben den in der QueueSchnittstelle verfügbaren Methoden Dequeenthält die Schnittstelle auch die folgenden Methoden:

  • addFirst () - Fügt das angegebene Element am Anfang der Deque hinzu. Löst eine Ausnahme aus, wenn die Deque voll ist.
  • addLast () - Fügt das angegebene Element am Ende der Deque hinzu. Löst eine Ausnahme aus, wenn die Deque voll ist.
  • OfferFirst () - Fügt das angegebene Element am Anfang der Deque hinzu. Gibt zurück, falsewenn die Deque voll ist.
  • OfferLast () - Fügt das angegebene Element am Ende der Deque hinzu. Gibt zurück, falsewenn die Deque voll ist.
  • getFirst () - Gibt das erste Element der Deque zurück. Löst eine Ausnahme aus, wenn die Deque leer ist.
  • getLast () - Gibt das letzte Element der Deque zurück. Löst eine Ausnahme aus, wenn die Deque leer ist.
  • peekFirst () - Gibt das erste Element der Deque zurück. Gibt zurück, nullwenn die Deque leer ist.
  • peekLast () - Gibt das letzte Element der Deque zurück. Gibt zurück, nullwenn die Deque leer ist.
  • removeFirst () - Gibt das erste Element der Deque zurück und entfernt es. Löst eine Ausnahme aus, wenn die Deque leer ist.
  • removeLast () - Gibt das letzte Element der Deque zurück und entfernt es. Löst eine Ausnahme aus, wenn die Deque leer ist.
  • pollFirst () - Gibt das erste Element der Deque zurück und entfernt es. Gibt zurück, nullwenn die Deque leer ist.
  • pollLast () - Gibt das letzte Element der Deque zurück und entfernt es. Gibt zurück, nullwenn die Deque leer ist.

Deque als Stack-Datenstruktur

Die StackKlasse des Java- CollectionsFrameworks stellt die Implementierung des Stacks bereit.

Es wird jedoch empfohlen, Dequeanstelle der Stapelklasse einen Stapel zu verwenden. Dies liegt daran, dass Methoden von Stacksynchronisiert sind.

Hier sind die Methoden, die die DequeSchnittstelle zum Implementieren des Stapels bereitstellt:

  • push() - Fügt zu Beginn der Deque ein Element hinzu
  • pop() - Entfernt ein Element vom Beginn der Deque
  • peek() - gibt ein Element vom Beginn der Deque zurück

Implementierung von Deque in der 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); ) ) 

Ausgabe

 Deque: (3, 1, 2) Erstes Element: 3 Letztes Element: 2 Entferntes erstes Element: 3 Entferntes letztes Element: 2 Aktualisiert Deque: (1) 

Weitere Informationen finden Sie unter Java ArrayDeque.

Interessante Beiträge...