Warteschlange in Java instanziieren
-
Verwenden Sie die Klasse
LinkedList
, um einQueue
-Objekt in Java zu implementieren -
Verwenden Sie die Klasse
ArrayDeque
, um einQueue
-Objekt in Java zu implementieren
Dieser Artikel stellt Methoden vor, um ein Queue
-Objekt in Java zu instanziieren. In diesem Tutorial werden wir die Methodenaufrufe des instanziierten Objekts weiter beschreiben und implementieren. Eine Warteschlange ist eine Schnittstelle, und wir können ein Objekt nicht direkt erstellen. Aber wir können die Klasse implementieren, die bereits das Interface Queue
implementiert. Einige dieser Klassen sind AbstractQueue
, ArrayDeque
, DelayQueue
, LinkedList
. Daher verwenden wir in diesem Tutorial die Klassen LinkedList
und ArrayDeque
, um Queue zu instanziieren.
Verwenden Sie die Klasse LinkedList
, um ein Queue
-Objekt in Java zu implementieren
Die Klasse LinkedList
implementiert das Datenstrukturkonzept LinkedList. Es ist Teil des Collection-Frameworks und im Paket java.util
verfügbar. Die Elemente in der LinkedList werden in Form von Zeigern und Adressen gespeichert. Das Element wird als Knoten bezeichnet. Wir können nicht direkt auf den Knoten in LinkedList zugreifen. Um auf einen Knoten zuzugreifen, müssen wir am Kopf beginnen und bis zu einem Knoten, auf den wir zugreifen möchten, folgen. Die LinkedList implementiert die List-Schnittstelle und erbt alle Methoden, die in der List-Schnittstelle und der Auflistungsschnittstelle vorhanden sind. Queue
ist auch im gleichen Paket verfügbar. Wir können ein Objekt von Queue
erstellen, das die Klasse LinkedList
implementiert. Wir können die Funktion add()
verwenden, um die Daten in der Warteschlange anzuhängen.
Importieren Sie zunächst Queue und LinkedList mit import java.util.Queue
bzw. import java.util.LinkedList
. Erstellen Sie dann eine Klasse QueueDemo
und deklarieren Sie die Hauptmethode. Als nächstes instanziieren Sie ein Objekt queue
, indem Sie die Klasse LinkedList
implementieren. Rufen Sie die Methode add()
mit dem Objekt auf und addieren Sie fünf Integer-Werte. Drucken Sie abschließend die Elemente der Warteschlange.
Im Beispiel haben wir eine Klasse LinkedList
verwendet, die das Queue-Interface implementiert, um ein Queue-Objekt zu erstellen. Dies liegt daran, dass die Warteschlange eine Schnittstelle ist und wir ihr Objekt nicht direkt erstellen können. Wir haben beim Erstellen des Objekts den generischen Typ Integer
angegeben, da wir den Integer-Wert in der Warteschlange speichern. Der Ausgabeabschnitt zeigt die in der Warteschlange gespeicherten Elemente an.
Beispielcode:
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
queue.add(8);
queue.add(9);
queue.add(10);
queue.add(2);
queue.add(5);
System.out.println("Added Queue in memory: " + queue);
}
}
Ausgabe:
Added Queue in memory: [8, 9, 10, 2, 5]
Verwenden Sie die Klasse ArrayDeque
, um ein Queue
-Objekt in Java zu implementieren
Die Java-Sprache hat die Klasse ArrayDeque
als Teil des Collection-Frameworks definiert. Es erzeugt einen leeren Satz von Speicherplätzen mit einer Anfangskapazität, die ausreicht, um sechzehn Elemente aufzunehmen. ArrayDeque wird auch Array Double Ended Queue genannt, was es uns ermöglicht, ein Element von beiden Seiten einzufügen oder zu löschen. Es implementiert einen Stack (Last-In-First-Out) oder eine Queue (First-In-First-Out). Daher können wir mit der Implementierung der Klasse ArrayDeque
ein Objekt von Queue
erstellen.
Importieren Sie die Pakete wie oben, aber stellen Sie sicher, dass Sie in dieser Methode das ArrayDeque
anstelle der LinkedList
importieren. Erstellen Sie dann eine Klasse Demo und deklarieren Sie die Hauptmethode. Implementieren Sie dann die Klasse ArrayDeque
, indem Sie das Interface Queue
instanziieren. Erstellen Sie ein Objekt von Queue
als aq
. Verwenden Sie das Objekt aq
, um die Methode add()
viermal aufzurufen. Füge vier verschiedene Zeichenketten hinzu. Drucken Sie zum Schluss das Objekt aq
.
Im folgenden Beispiel haben wir beim Anlegen des Objekts den generischen Typ String
verwendet. Dies liegt daran, dass wir Zeichenkettenelemente in die Warteschlange einfügen. Somit haben wir ein Queue
-Objekt instanziiert, das die ArrayDeque
-Klasse implementiert.
Beispielcode:
import java.util.ArrayDeque;
import java.util.Queue;
public class Demo {
public static void main(String[] args) {
Queue<String> aq = new ArrayDeque<String>();
aq.add("first");
aq.add("second");
aq.add("third");
aq.add("fourth");
System.out.println("Added Queue in memory: " + aq);
}
}
Ausgabe:
Added Queue in memory: [first, second, third, fourth]