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:
Deque
BlockingQueue
BlockingDeque
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()
gibttrue
zurück , andernfalls wird eine Ausnahme ausgelöst. - Angebot() - Fügt das angegebene Element in die Warteschlange ein. Wenn die Aufgabe erfolgreich ist,
offer()
gibttrue
zurück , wenn nicht, wirdfalse
zurü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
null
zurü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
null
zurü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