Java-Warteschlangenschnittstelle
Java-Warteschlangenschnittstelle
In diesem Tutorial lernen wir die Java-Queue-Schnittstelle und ihre Methoden kennen.
Der Queue -Schnittstelle des Java Collections Framework stellt die Funktionalität der Queue-Datenstruktur bereit. Es erweitert die Collection Schnittstelle.
Klassen, die die Warteschlange implementieren
Seit dem Queue eine Schnittstelle ist, können wir sie nicht direkt implementieren.
Um die Funktionalitäten von Queue zu nutzen , müssen wir Klassen verwenden, die es implementieren:
- ArrayDeque
- VerknüpfteListe
- Prioritätswarteschlange

Schnittstellen, die die Warteschlange erweitern
Die Queue Interface wird auch um verschiedene Subinterfaces erweitert:
DequeBlockingQueueBlockingDeque

Funktion der Warteschlangendatenstruktur
In Warteschlangen werden Elemente in First In, First Out gespeichert und aufgerufen Benehmen. Das heißt, Elemente werden von hinten hinzugefügt und von vorne entfernt .

Wie verwende ich die Warteschlange?
In Java müssen wir java.util.Queue importieren Paket, um Queue zu verwenden .
// LinkedList implementation of Queue
Queue<String> animal1 = new LinkedList<>();
// Array implementation of Queue
Queue<String> animal2 = new ArrayDeque<>();
// Priority Queue implementation of Queue
Queue<String> animal 3 = new PriorityQueue<>();
Hier haben wir Objekte animal1 erstellt , tier2 und tier3 der Klassen LinkedList , ArrayDeque und PriorityQueue beziehungsweise. Diese Objekte können die Funktionalitäten des Queue nutzen Schnittstelle.
Methoden der Warteschlange
Die Queue Schnittstelle beinhaltet alle Methoden des Collection Schnittstelle. Das liegt daran, dass Collection ist die Superschnittstelle von Queue .
Einige der häufig verwendeten Methoden des Queue Schnittstelle sind:
- hinzufügen() - Fügt das angegebene Element in die Warteschlange ein. Wenn die Aufgabe erfolgreich ist,
add()gibttruezurück , andernfalls wird eine Ausnahme ausgelöst. - Angebot() - Fügt das angegebene Element in die Warteschlange ein. Wenn die Aufgabe erfolgreich ist,
offer()gibttruezurück , wenn nicht, wirdfalsezurückgegeben . - 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
nullzurück wenn die Warteschlange leer ist. - entfernen() - Gibt den Kopf der Warteschlange zurück und entfernt ihn. Löst eine Ausnahme aus, wenn die Warteschlange leer ist.
- Umfrage() - Gibt den Kopf der Warteschlange zurück und entfernt ihn. Gibt
nullzurück wenn die Warteschlange leer ist.
Implementierung der Warteschlangenschnittstelle
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<Integer> 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
Queue: [1, 2, 3] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 3]
Um mehr zu erfahren, besuchen Sie 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<Integer> 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
Queue: [1, 5, 2] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 5]
Um mehr zu erfahren, besuchen Sie Java PriorityQueue.
In den nächsten Tutorials werden wir verschiedene Unterschnittstellen des Queue kennenlernen Schnittstelle und ihre Implementierung im Detail.
Java