Java Queue-Schnittstelle

In diesem Tutorial lernen wir die Java Queue-Oberfläche und ihre Methoden kennen.

Die QueueSchnittstelle des Java-Sammlungsframeworks bietet die Funktionalität der Warteschlangendatenstruktur. Es erweitert die CollectionSchnittstelle.

Klassen, die die Warteschlange implementieren

Da Queuees sich um eine Schnittstelle handelt, können wir deren direkte Implementierung nicht bereitstellen.

Um die Funktionen von nutzen zu können Queue, müssen Klassen verwendet werden, die sie implementieren:

  • ArrayDeque
  • LinkedList
  • Prioritätswarteschlange

Schnittstellen, die die Warteschlange erweitern

Die QueueSchnittstelle wird auch um verschiedene Subschnittstellen erweitert:

  • Deque
  • BlockingQueue
  • BlockingDeque

Arbeiten der Warteschlangendatenstruktur

In Warteschlangen werden Elemente gespeichert und auf First In, First Out- Weise zugegriffen . Das heißt, Elemente werden von hinten hinzugefügt und von vorne entfernt .

Wie benutzt man Queue?

In Java müssen wir das java.util.QueuePaket importieren , um es verwenden zu können Queue.

 // LinkedList implementation of Queue Queue animal1 = new LinkedList(); // Array implementation of Queue Queue animal2 = new ArrayDeque(); // Priority Queue implementation of Queue Queue animal 3 = new PriorityQueue(); 

Hier haben wir Objekte animal1, animal2 und animal3 von Klassen erstellt LinkedList, ArrayDequeund PriorityQueuejeweils. Diese Objekte können die Funktionen der QueueSchnittstelle nutzen.

Methoden der Warteschlange

Die QueueSchnittstelle enthält alle Methoden der CollectionSchnittstelle. Es ist, weil Collectionist die Super-Schnittstelle von Queue.

Einige der am häufigsten verwendeten Methoden der QueueSchnittstelle sind:

  • add () - Fügt das angegebene Element in die Warteschlange ein. Wenn die Aufgabe erfolgreich ist, add()kehrt true, wenn nicht sogar wirft es eine Ausnahme.
  • quote () - Fügt das angegebene Element in die Warteschlange ein. Wenn die Aufgabe erfolgreich ist, wird sie offer()zurückgegeben true, wenn nicht, wird sie zurückgegeben false.
  • element () - Gibt den Kopf der Warteschlange zurück. Löst eine Ausnahme aus, wenn die Warteschlange leer ist.
  • peek () - Gibt den Kopf der Warteschlange zurück. Gibt zurück, nullwenn die Warteschlange leer ist.
  • remove () - Gibt den Kopf der Warteschlange zurück und entfernt ihn. Löst eine Ausnahme aus, wenn die Warteschlange leer ist.
  • poll () - Gibt den Kopf der Warteschlange zurück und entfernt ihn. Gibt zurück, nullwenn die Warteschlange leer ist.

Implementierung der Queue-Schnittstelle

1. Implementieren der LinkedList-Klasse

 import java.util.Queue; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating Queue using the LinkedList class Queue numbers = new LinkedList(); // offer elements to the Queue numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) ) 

Ausgabe

 Warteschlange: (1, 2, 3) Zugriff auf Element: 1 Entferntes Element: 1 Aktualisierte Warteschlange: (2, 3) 

Weitere Informationen finden Sie unter Java LinkedList.

2. Implementieren der PriorityQueue-Klasse

 import java.util.Queue; import java.util.PriorityQueue; class Main ( public static void main(String() args) ( // Creating Queue using the PriorityQueue class Queue numbers = new PriorityQueue(); // offer elements to the Queue numbers.offer(5); numbers.offer(1); numbers.offer(2); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) ) 

Ausgabe

 Warteschlange: (1, 5, 2) Zugriff auf Element: 1 Entferntes Element: 1 Aktualisierte Warteschlange: (2, 5) 

Weitere Informationen finden Sie unter Java PriorityQueue.

In den nächsten Tutorials lernen wir die verschiedenen Subschnittstellen der QueueSchnittstelle und ihre Implementierung im Detail kennen.

Interessante Beiträge...