Double-Ended Queue (Deque) ist eine relativ komplexe Datenstruktur mit Warteschlangen- und Stapeleigenschaften. Es unterstützt alle Operationen von Warteschlangen und Stapeln und kann Elemente am Anfang und Ende der Warteschlange hinzufügen oder löschen. In Java ist Deque eine Schnittstelle mit zwei Implementierungsklassen: ArrayDeque und LinkedList.
In diesem Artikel wird erläutert, wie Sie mit der Deque-Funktion in Java doppelseitige Warteschlangenoperationen ausführen, einschließlich der Erstellung von Deque, dem Hinzufügen von Elementen, dem Entfernen von Elementen, Kopf- und Endoperationen usw.
1. Deque erstellen
Um ein Deque-Objekt in Java zu erstellen, können Sie die Implementierungsklasse ArrayDeque oder LinkedList verwenden. Wenn die Anzahl der Elemente bekannt ist und die Leistungsanforderungen hoch sind, ist es besser, ArrayDeque zu verwenden. Wenn die Anzahl der Elemente unsicher ist oder Elemente häufig in der Mitte eingefügt oder gelöscht werden müssen, ist es besser, LinkedList zu verwenden.
Das Folgende ist der Code zum Erstellen eines Deque-Objekts mit dem Namen deque:
Deque<String> deque = new ArrayDeque<String>(); // 使用ArrayDeque实现类创建 Deque<Integer> deque = new LinkedList<Integer>(); // 使用LinkedList实现类创建
2. Elemente hinzufügen
Das Hinzufügen von Elementen ist eine der Grundoperationen einer doppelendigen Warteschlange. In Deque können Elemente am Anfang oder am Ende der Warteschlange hinzugefügt werden. Verwenden Sie zum Hinzufügen die Methoden addFirst() bzw. addLast().
Verwenden Sie addFirst(), um Elemente hinzuzufügen:
deque.addFirst("element");
Verwenden Sie addLast(), um Elemente hinzuzufügen:
deque.addLast("element");
Wenn die Deque während des Additionsprozesses voll ist, löst addFirst() eine IllegalStateException aus.
3. Elemente entfernen
Das Entfernen von Elementen ist auch eine der Grundoperationen von doppelseitigen Warteschlangen. In Deque können Sie auch Elemente aus dem Kopf oder Ende der Warteschlange entfernen. Verwenden Sie zum Entfernen die Methoden „removeFirst()“ bzw. „removeLast()“.
Verwenden Sie „removeFirst()“, um Elemente zu entfernen:
String element = deque.removeFirst();
Verwenden Sie „removeLast()“, um Elemente zu entfernen:
String element = deque.removeLast();
Wenn die Warteschlange leer ist, löst der Aufruf der oben genannten Methode eine NoSuchElementException-Ausnahme aus.
4. Elemente bestimmen
Manchmal müssen wir bestimmen, ob ein Deque ein bestimmtes Element enthält oder was das erste und letzte Element sind. Zu diesem Zeitpunkt können Sie element (), peek () und andere Methoden verwenden.
Verwenden Sie element(), um das erste Element des Teams abzurufen:
String firstElement = deque.element(); // 队首元素
Verwenden Sie peek(), um das erste Element des Teams abzurufen:
String firstElement = deque.peek(); // 队首元素
Wenn die Warteschlange leer ist, löst der Aufruf der oben genannten Methode eine NoSuchElementException-Ausnahme aus.
Verwenden Sie peekFirst(), um das erste Element des Teams abzurufen:
String firstElement = deque.peekFirst(); // 队首元素
Verwenden Sie peekLast(), um das letzte Element des Teams abzurufen:
String lastElement = deque.peekLast(); // 队尾元素
5. Durchqueren Sie die Elemente
Wenn Sie die Elemente im Deque durchqueren, Sie kann Iterator-, foreach- oder Lambda-Ausdrücke verwenden.
Traverse mit Iterator:
Iterator<String> iterator = deque.iterator(); // 获取Iterator对象 while (iterator.hasNext()) { // 依次输出元素 System.out.println(iterator.next()); }
Traverse mit foreach:
for (String element : deque) { // 依次输出元素 System.out.println(element); }
Traverse mit Lambda-Ausdruck:
deque.forEach(element -> System.out.println(element)); // 依次输出元素
Zusammenfassung
Deque ist die Schnittstelle einer doppelendigen Warteschlange in Java, die alle Operationen von Warteschlange und Stapel bereitstellt und kann Elemente werden am Anfang der Warteschlange hinzugefügt oder gelöscht, und Elemente können am Ende der Warteschlange hinzugefügt oder gelöscht werden. In Java verfügt Deque über zwei Implementierungsklassen: ArrayDeque und LinkedList, die in verschiedenen Szenarien verwendet werden.
In diesem Artikel wird erläutert, wie Sie mit der Deque-Funktion in Java doppelseitige Warteschlangenoperationen ausführen, einschließlich der Erstellung von Deque, dem Hinzufügen von Elementen, dem Entfernen von Elementen, Kopf- und Schwanzoperationen und dem Durchlaufen von Elementen. Auf dieser Website finden Sie weitere Artikel, die Java-Anfängern helfen sollen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Deque-Funktion in Java für Deque-Operationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!