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
false
zurück wenn die deque voll ist. - offerLast() - Fügt das angegebene Element am Ende der Deque hinzu. Gibt
false
zurü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
null
zurück wenn die deque leer ist. - peekLast() - Gibt das letzte Element der Deque zurück. Gibt
null
zurü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
null
zurück wenn die deque leer ist. - pollLast() - Gibt das letzte Element der Deque zurück und entfernt es. Gibt
null
zurü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