ist eine leistungsstarke Programmiersprache und unterstützt verschiedene Datenstrukturen, um Programmierern das Leben zu erleichtern. In diesem Artikel werden wir uns eine solche Datenstruktur ansehen, nämlich die Java-Warteschlange. Dies sind die Hinweise, auf die sich dieser Artikel konzentriert.
- Warteschlange In Java
- Implementierung der Java-Warteschlange
- Methoden in der Java-Warteschlange
- Programm zur Demonstration von Warteschlangenmethoden
- Durch eine Java-Warteschlange iterieren
Dann fangen wir an,
Warteschlange In Java
Eine Warteschlange ist eine Datenstruktur, die dem Prinzip des FIFO (First-In-First-Out) folgt, d. H. Die Elemente werden am Ende der Liste eingefügt und am Anfang der Liste gelöscht. Diese Schnittstelle ist in der Datei java.util.package verfügbar und erweitert die Sammlungsschnittstelle.
Namespace in c ++
Die Warteschlange unterstützt mehrere Methoden, einschließlich Einfügen und Löschen. Die in java.util.package verfügbaren Warteschlangen sind bekannt als Ungebundene Warteschlangen , während die im Paket java.util.concurrent vorhandenen Warteschlangen bekannt sind Begrenzte Warteschlangen.
Alle Warteschlangen mit Ausnahme der Deques unterstützen das Einfügen am Ende und das Löschen von vorne. Deques unterstützen das Einfügen und Löschen von Elementen an beiden Enden.
Fahren wir mit dem nächsten Thema dieses Artikels über Java Queue fort.
Implementierung der Java-Warteschlange
Um die Warteschlangenschnittstelle verwenden zu können, müssen wir eine konkrete Klasse instanziieren. Im Folgenden sind die wenigen Implementierungen aufgeführt, die verwendet werden können:
- util.LinkedList
- util.PriorityQueue
Da diese Implementierungen nicht threadsicher sind, fungiert PriorityBlockingQueue als Alternative für die threadsichere Implementierung.
Beispiel:
Warteschlange q1 = new LinkedList ()
Warteschlange q2 = neue PriorityQueue ()
Lassen Sie uns einen Blick auf einige wichtige Java Queue-Methoden werfen.
Methoden in der Java-Warteschlange
- hinzufügen(): Die add () -Methode wird verwendet, um Elemente am Ende oder am Ende der Warteschlange einzufügen. Die Methode wird von der Collection-Schnittstelle geerbt.
- Angebot(): Die Methode quote () ist der Methode add () vorzuziehen, da das angegebene Element in die Warteschlange eingefügt wird, ohne dass Kapazitätsbeschränkungen verletzt werden.
- spähen(): Die peek () -Methode wird verwendet, um die Vorderseite der Warteschlange zu betrachten, ohne sie zu entfernen. Wenn die Warteschlange leer ist, wird ein Nullwert zurückgegeben.
- Element(): Wenn die Warteschlange leer ist, löst die Methode NoSuchElementException aus.
- entfernen(): Die remove () -Methode entfernt die Vorderseite der Warteschlange und gibt sie zurück. Löst eine NoSuchElementException aus, wenn die Warteschlange leer ist.
- Umfrage(): Die poll () -Methode entfernt den Anfang der Warteschlange und gibt ihn zurück. Wenn die Warteschlange leer ist, wird ein Nullwert zurückgegeben.
Eine Übersicht über die folgenden Methoden wird wie folgt gegeben:
Operation | Wirft eine Ausnahme | Gibt den Wert zurück |
Einfügen | add (Element) | Angebot (Element) |
Entfernen | entfernen() Java für Beispiele für Schleifenprogramme | Umfrage() |
Untersuchen | Element() | spähen() |
Schauen wir uns jetzt die Demonstration an.
Programm zur Demonstration von Warteschlangenmethoden
import java.util. * public class Main {public statisch void main (String [] args) {// Wir können keine Instanz einer Warteschlange erstellen, da es sich um eine Schnittstelle handelt. Daher stellen wir q1 = new LinkedList () in die Warteschlange // Hinzufügen von Elementen zu die Warteschlange q1.add ('I') q1.add ('Love') q1.add ('Rock') q1.add ('And') q1.add ('Roll') System.out.println ('Elements in Warteschlange: '+ q1) / * * Wir können ein Element mit der Methode remove () aus der Warteschlange entfernen. * Dadurch wird das erste Element aus der Warteschlange entfernt. * / System.out.println (' Entferntes Element: '+ q1.remove ( )) / * * element () -Methode - Gibt den Kopf der * Warteschlange zurück. * / System.out.println ('Head:' + q1.element ()) / * * poll () -Methode - Hiermit wird der * Kopf der Warteschlange entfernt und zurückgegeben. Gibt null zurück, wenn die Warteschlange leer ist. * / System.out.println ('poll ():' + q1.poll ()) / * * peek () -Methode - funktioniert genauso wie die element () -Methode, * gibt jedoch zurück null, wenn die Warteschlange leer ist * / System.out.println ('peek ():' + q1.peek ()) // Anzeigen der Elemente der Warteschlange System.out.println ('Elemente in der Warteschlange:' + q1)} }}
Ausgabe:
Elemente in der Warteschlange: [Ich, Liebe, Rock und Roll]
Entferntes Element: I.
Kopf: Liebe
Umfrage (): Liebe
peek (): Rock
Elemente in der Warteschlange: [Rock, And, Roll]. Im obigen Beispiel wurde die generische Warteschlange verwendet.
In diesem Warteschlangentyp können wir den in die Warteschlange eingefügten Objekttyp einschränken. In unserem Beispiel können nur Zeichenfolgeninstanzen in die Warteschlange eingefügt werden.
Durch eine Java-Warteschlange iterieren
Elemente in einer Java-Warteschlange können mit dem folgenden Code iteriert werden:
Warteschlange q1 = new LinkedList ()
q1.add ('Rock')
q1.add ('Und')
q1.add ('Roll')
// Zugriff über Iterator
Iterator iterator = q1.iterator ()
while (iterator.hasNext () {
String element = (String) iterator.next ()
}}
// Zugriff über neue for-Schleife
für (Objekt Objekt: q1) {
String element = (String) Objekt
}}
Die Reihenfolge, in der die Elemente iteriert werden, hängt von der Implementierung der Warteschlange ab.
Während eine Java-Warteschlange mehrere Methoden implementieren kann, wurden hier die wichtigsten Methoden erläutert.
Damit sind wir am Ende dieses Artikels über 'Java Queue' angelangt. Wenn Sie mehr erfahren möchten,Besuche die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka wurde entwickelt, um Sie für Kern- und fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring zu schulen.
Anwendung der Big-Data-Analyse
Hast du eine Frage an uns? Bitte erwähne es im Kommentarbereich dieses Blogs und wir werden uns so schnell wie möglich bei dir melden.