Java-Deque-Schnittstelle
Java-Deque-Schnittstelle
In diesem Tutorial lernen wir die Deque-Schnittstelle, ihre Verwendung und ihre Methoden kennen.
Der Deque -Schnittstelle des Java Collections Framework bietet die Funktionalität einer Double-Ended-Queue. Es erweitert die Queue Schnittstelle.
Arbeitsweise 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 Funktionalitäten der Deque zu nutzen -Schnittstelle, müssen wir Klassen verwenden, die sie implementieren:
- ArrayDeque
- VerknüpfteListe

Wie verwende ich Deque?
In Java müssen wir den java.util.Deque importieren Paket, um Deque zu verwenden .
// Array implementation of Deque
Deque<String> animal1 = new ArrayDeque<>();
// LinkedList implementation of Deque
Deque<String> animal2 = new LinkedList<>();
Hier haben wir Objekte animal1 erstellt und tier2 der Klassen ArrayDeque und LinkedList , beziehungsweise. Diese Objekte können die Funktionalitäten des Deque nutzen Schnittstelle.
Deque-Methoden
Seit Deque erweitert den Queue -Schnittstelle erbt sie alle Methoden der Queue-Schnittstelle.
Neben Methoden, die in Queue verfügbar sind Schnittstelle, die Deque Die Schnittstelle enthält 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
falsezurück wenn die deque voll ist. - offerLast() - Fügt das angegebene Element am Ende der Deque hinzu. Gibt
falsezurück wenn 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
nullzurück wenn die deque leer ist. - peekLast() - Gibt das letzte Element der Deque zurück. Gibt
nullzurück wenn 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
nullzurück wenn die deque leer ist. - pollLast() - Gibt das letzte Element der Deque zurück und entfernt es. Gibt
nullzurück wenn die deque leer ist.
Deque als Stack-Datenstruktur
Die Stack Klasse von Java Collections Framework stellt die Implementierung des Stacks bereit.
Es wird jedoch empfohlen, Deque zu verwenden als Stack anstelle der Stack-Klasse. Das liegt an den Methoden von Stack werden synchronisiert.
Hier sind die Methoden der Deque Schnittstelle bietet zur Implementierung von Stack:
push()- fügt ein Element am Anfang von deque hinzupop()- entfernt ein Element vom Anfang der Dequepeek()- gibt ein Element vom Anfang 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<Integer> 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] First Element: 3 Last Element: 2 Removed First Element: 3 Removed Last Element: 2 Updated Deque: [1]
Um mehr zu erfahren, besuchen Sie Java ArrayDeque.
Java