Heim  >  Artikel  >  Java  >  Java-Warteschlangenschnittstelle

Java-Warteschlangenschnittstelle

PHPz
PHPzOriginal
2024-08-30 16:04:211136Durchsuche

Queue Interface ist Mitglied des Pakets util.java. Es ist Teil des Sammlungs-Frameworks und wird zur Erweiterung der Sammlungsschnittstelle verwendet. Da die Sammelschnittstelle die Hauptschnittstelle ist, umfasst die Warteschlangenschnittstelle alle darin enthaltenen Methoden. Eine Warteschlange ist eine FIFO-Datenstruktur (First In First Out). Queue stellt eine Datenstruktur dar, die so implementiert ist, dass Elemente an der letzten Position in der Reihenfolge eingefügt werden können. In einer Warteschlange wird das zuerst in die Warteschlange eingefügte Element zuerst ausgegeben. Eine Warteschlange in Java ist eine Schnittstelle; Daher kann es nicht instanziiert werden. Die Warteschlangenschnittstelle wird hauptsächlich in zwei Klassen implementiert, nämlich LinkedList und PriorityQueue. Es handelt sich um eine geordnete Folge von Objekten wie eine Java-Liste.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax

In der folgenden Syntax wird ein Objekt obj mithilfe der Klasse LinkedList/PriorityQueue instanziiert. In der Syntax der beiden folgenden Warteschlangen ist die LinkedList-Implementierung die Standardimplementierung.

Queue qObj = new LinkedList();

ODER

Queue qObj = new PriorityQueue();

Warteschlangeninstanzen mit dem eingeschränkten Datentyp können mit der folgenden angegebenen Syntax erstellt werden.

Queue<String> q = new LinkedList<String>();

Warteschlangenschnittstellenmethoden

Einige der häufig verwendeten Methoden der Warteschlangenschnittstelle sind unten aufgeführt

  • add(): add()-Methode zum Einfügen von Elementen in die Warteschlange. Es gibt „true“ zurück, wenn die Antwort erfolgreich ist; andernfalls werden Ausnahmen generiert.
  • element(): element() ist eine der wichtigen Methoden, die das Warteschlangenkopfelement zurückgibt. Wenn die Warteschlange leer ist, werden Ausnahmen generiert. Im Beispielabschnitt können wir sehen, wie die element()-Methode funktioniert.
  • offer(): Diese Methode wird auch verwendet, um Elemente in die Warteschlange einzufügen. Der einzige Unterschied zwischen add() und dem Angebot besteht darin, dass, wenn die Add-Methode das Element in der Warteschlange nicht hinzufügen kann, eine Ausnahme erstellt wird, während dies bei der Offer-Methode nicht der Fall ist.
  • peek(): Die peek()-Methode ähnelt fast der element()-Methode. Es wird nach dem Kopf der Warteschlange gesucht. Wenn die Warteschlange leer ist, wird NULL
  • zurückgegeben
  • poll(): Diese Methode entfernt ein Element vom Anfang der Warteschlange und gibt das vordere Element aus der Warteschlange zurück. Wenn die Warteschlange leer ist, wird null zurückgegeben.
  • remove(): Diese Methode wird verwendet, um das vordere Element der Warteschlange zu entfernen und zurückzugeben. Wenn festgestellt wird, dass das Element leer ist, werden Ausnahmen erstellt.
  • size(): Diese Methode gibt die Anzahl der in der Warteschlange verfügbaren Elemente zurück.

Beispiele zur Implementierung der Java-Warteschlangenschnittstelle

Im Folgenden finden Sie Beispiele für die Implementierung der Java-Warteschlangenschnittstelle:

Beispiel #1

Dieses Beispiel zeigt, wie verschiedene Methoden im Programm verwendet werden und was diese Methoden zurückgeben.

  1. Es wird eine Instanz der Warteschlange vom Typ LinkedList erstellt.
  2. Darüber hinaus werden der Warteschlange mithilfe der Add-Methode verschiedene Zeichenfolgenelemente hinzugefügt.
  3. In der nächsten Anweisung wird die Größe der Warteschlange mithilfe der size()-Methode angezeigt.
  4. Elemente in der Warteschlange, das Kopfelement der Warteschlange werden in der nächsten Zeile angezeigt.
  5. Die Remove-Methode wird weiterhin zum Entfernen des Elements aus der Warteschlange verwendet.
  6. In den nächsten beiden Zeilen werden die verfügbaren Elemente in der Warteschlange bzw. das Hauptelement der Warteschlange angezeigt.

Code:

//importing packages
import java.util.*;
public class QueueInterfaceExample {
public static void main(String[] args){
Queue qObj = new LinkedList();
//adding element to the queue
qObj.add("Action");
qObj.add("speak");
qObj.add("louder");
qObj.add("than");
qObj.add("Words");
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//printing the head element of the queue
System.out.println("\nHead item of the Queue: " + qObj.element());
//removing head element from the queue
qObj.remove();
//items available in the queue
System.out.println("\nAvailable item in Queue: " + qObj);
//items available in the queue after applying peek method
System.out.println("\nHead item of the Queue: " + qObj.peek());
//applying the poll method to the
qObj.poll();
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
}
}

Ausgabe:

Java-Warteschlangenschnittstelle

Beispiel #2

In diesem Beispiel können wir sehen, wie eingeschränkte Elementtypen zur Warteschlange hinzugefügt werden können.

Code:

//importing package here
import java.util.*;
public class QueueInterfaceExample2 {
public static void main(String[] args){
//initialize a Queue using a LinkedList
Queue<Integer> qObj = new LinkedList<>();
//adding element to the queue
qObj.add(50);
qObj.add(175);
qObj.add(1450);
qObj.add(2750);
qObj.add(10250);
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
//declaring a integer variable here
Integer intVar = 1450;
//condition to check if element is available in the queue
if(qObj.contains(intVar)){
//items available in the queue after applying poll method
System.out.println("\nSpecified item is available in the Queue.");
}
//declaring a integer variable here
Integer intVar2 = 1500;
//condition to check if element is available in the queue
if(qObj.contains(intVar2)){
//items available in the queue after applying poll method
System.out.println("\nSpecified item is available in the Queue.");
}else{
//items available in the queue after applying poll method
System.out.println("\nSpecified item " + intVar2 + " is not available in the Queue.");
}
}
}

Ausgabe:

Java-Warteschlangenschnittstelle

Beispiel #3

In diesem Beispiel wird versucht, den Elementtyp „String“ in die eingeschränkte Warteschlange vom Typ „Integer“ einzufügen.

Code:

importing package here
import java.util.*;
public class QueueInterfaceExample3 {
public static void main(String[] args){
//initialize a Queue using a LinkedList
Queue<Integer> qObj = new LinkedList<>();
//adding element to the queue
qObj.add(50);
qObj.add(175);
qObj.add(1450);
qObj.add(2750);
qObj.add("Happy");
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
}
}

Ausgabe:

Die Ausgabe des oben angegebenen Programms erzeugt einen Fehler, da das Einfügen eines Elements vom Typ String in die Warteschlange vom Typ Integer nicht unterstützt wird.

Java-Warteschlangenschnittstelle

Fazit

Im oben genannten Artikel wird die Warteschlangenschnittstelle klar beschrieben. Es wird verwendet, um die Sammlungsschnittstellen zu erweitern. Außerdem wird angegeben, wie FIFO in der Warteschlangenschnittstelle verwendet wird. Die Verwendung der Warteschlangenschnittstelle wird in den obigen Abschnitten beschrieben. Im Artikel finden Sie einige Beispiele, um zu sehen, wie die Warteschlangen- und Warteschlangenmethode funktioniert.

Das obige ist der detaillierte Inhalt vonJava-Warteschlangenschnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Funktionsschnittstelle in JavaNächster Artikel:Funktionsschnittstelle in Java