English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Tutorial werden wir das Deque-Interface, wie man es verwendet und seine Methoden, lernen.
Das Deque-Interface der Java Collection Framework bietet die Funktionen der doppelten Warteschlange (Deque). Es vererbt das Queue-Interface.
In der regulären Warteschlange werden Elemente hinten hinzugefügt und vorne entfernt. Aber in der doppelten Warteschlange können wirEinfügen und Entfernen von Elementen von vorne und hinten.
Um die Funktionen der Deque-Schnittstelle zu nutzen, müssen wir Klassen verwenden, die das Interface implementieren:
In Java müssen wir das Paket java.util.Deque importieren, um Deque zu verwenden.
Deque<String> animal1 = new ArrayDeque<>(); Deque<String> animal2 = new LinkedList<>();
Hier haben wir die Objekte der Klassen ArrayDeque und LinkedList für animal getrennt erstellt1und animal2. Diese Objekte können die Funktionen der Deque-Schnittstelle nutzen.
Da Deque das Queue-Interface vererbt, erbt esdes Queue-InterfacesAlle Methoden.
Neben den Methoden, die im Queue-Interface verfügbar sind, umfasst die Deque-Schnittstelle auch folgende Methoden:
addFirst() - Fügen Sie das angegebene Element an den Anfang der doppelten Warteschlange hinzu. Wenn die doppelte Warteschlange voll ist, wird eine Ausnahme ausgelöst.
addLast() - Fügen Sie das angegebene Element am Ende der doppelten Warteschlange hinzu. Wenn die doppelte Warteschlange voll ist, wird eine Ausnahme ausgelöst.
offerFirst() - Fügen Sie das angegebene Element an den Anfang der doppelten Warteschlange hinzu. Wenn die doppelte Warteschlange voll ist, wird false zurückgegeben.
offerLast() - Fügen Sie das angegebene Element am Ende der Double-Ended Queue hinzu. Wenn die Double-Ended Queue voll ist, wird false zurückgegeben.
getFirst() - Geben Sie den ersten Element der Double-Ended Queue zurück. Wenn die Double-Ended Queue leer ist, wird eine Ausnahme ausgelöst.
getLast() - Geben Sie den letzten Element der Double-Ended Queue zurück. Wenn die Double-Ended Queue leer ist, wird eine Ausnahme ausgelöst.
peekFirst() - Geben Sie den ersten Element der Double-Ended Queue zurück. Wenn die Double-Ended Queue leer ist, wird null zurückgegeben.
peekLast() - Geben Sie den letzten Element der Double-Ended Queue zurück. Wenn die Double-Ended Queue leer ist, wird null zurückgegeben.
removeFirst() - Geben Sie den ersten Element der Double-Ended Queue zurück und entfernen Sie es. Wenn die Double-Ended Queue leer ist, wird eine Ausnahme ausgelöst.
removeLast() - Geben Sie den letzten Element der Double-Ended Queue zurück und entfernen Sie es. Wenn die Double-Ended Queue leer ist, wird eine Ausnahme ausgelöst.
pollFirst() - Geben Sie den ersten Element der Double-Ended Queue zurück und entfernen Sie es. Wenn die Double-Ended Queue leer ist, wird null zurückgegeben.
pollLast() - Geben Sie den letzten Element der Double-Ended Queue zurück und entfernen Sie es. Wenn die Double-Ended Queue leer ist, wird null zurückgegeben.
Die Klasse Stack im Java Collections Framework bietet eine Implementierung von Stacks.
Aber es wird empfohlen, Deque als Stack zu verwenden, anstattStack-Klasse. Dies liegt daran, dass die Methoden von Stack synchronisiert sind.
Hier sind die Methoden, die das Deque-Interface bereitstellt, um Stacks zu implementieren:
push() - Fügen Sie ein Element am Anfang der Double-Ended Queue hinzu
pop() - Entfernen Sie ein Element vom Anfang der Double-Ended Queue
peek() - Geben Sie ein Element vom Anfang der Double-Ended Queue zurück
import java.util.Deque; import java.util.ArrayDeque; class Main { public static void main(String[] args) { // Erstellen Sie eine Deque mit der Klasse ArrayDeque Deque<Integer> numbers = new ArrayDeque<>(); //Fügen Sie Elemente zur Deque hinzu numbers.offer(1); numbers.offerLast(2); numbers.offerFirst(3); System.out.println("Deque: " + "\t" + zahlen); //Zugriff auf die Elemente der Deque int firstElement = numbers.peekFirst(); System.out.println("erster Element: " + "\t" + erstesElement); int letzterElement = zahlen.peekLast(); System.out.println("Letztes Element: " + letzteElement); //Element aus Deque entfernen int entfernterZahl1 = zahlen.pollFirst(); System.out.println("Erstes Element entfernen: " + entfernterZahl1); int entfernterZahl2 = zahlen.pollLast(); System.out.println("Letztes Element entfernen: " + entfernterZahl2); System.out.println("Aktualisierte Deque: " + zahlen); } }
Ausgaberesultat
Deque: [3, 1, 2] Erstes Element: 3 Letztes Element: 2 Erstes Element entfernen: 3 Letztes Element entfernen: 2 Aktualisierte Deque: [1]
Für weitere Informationen besuchen Sie bitteJava ArrayDeque.