Java-wachtrij-interface
Java wachtrij-interface
In deze zelfstudie leren we over de Java Queue-interface en zijn methoden.
De Queue
interface van het Java-verzamelingsframework biedt de functionaliteit van de wachtrijgegevensstructuur. Het verlengt de Collection
interface.
Klassen die wachtrij implementeren
Sinds de Queue
is een interface, kunnen we de directe implementatie ervan niet bieden.
Om de functionaliteiten van Queue
. te gebruiken , we moeten klassen gebruiken die het implementeren:
- ArrayDeque
- LinkedList
- Prioriteitswachtrij
Interfaces die de wachtrij verlengen
De Queue
interface is ook uitgebreid met verschillende subinterfaces:
Deque
BlockingQueue
BlockingDeque
Werking van wachtrijgegevensstructuur
In wachtrijen worden elementen opgeslagen en geopend in First In, First Out manier. Dat wil zeggen, elementen worden van achteren toegevoegd en van de voorkant verwijderd .
Hoe wachtrij gebruiken?
In Java moeten we java.util.Queue
. importeren pakket om Queue
. te gebruiken .
// 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 hebben we objecten animal1 . gemaakt , dier2 en dier3 klassen LinkedList
, ArrayDeque
en PriorityQueue
respectievelijk. Deze objecten kunnen gebruik maken van de functionaliteiten van de Queue
interface.
Methoden van wachtrij
De Queue
interface bevat alle methoden van de Collection
koppel. Het is omdat Collection
is de superinterface van Queue
.
Enkele veelgebruikte methoden van de Queue
interface zijn:
- add() - Voegt het opgegeven element in de wachtrij in. Als de taak succesvol is,
add()
retourneerttrue
, zo niet, dan wordt er een uitzondering gegenereerd. - aanbieden() - Voegt het opgegeven element in de wachtrij in. Als de taak is gelukt,
offer()
retourneerttrue
, zo niet, dan retourneert hetfalse
. - element() - Retourneert de kop van de wachtrij. Gooit een uitzondering als de wachtrij leeg is.
- peek() - Retourneert de kop van de wachtrij. Retourneert
null
als de wachtrij leeg is. - verwijder() - Retourneert en verwijdert de kop van de wachtrij. Gooit een uitzondering als de wachtrij leeg is.
- poll() - Retourneert en verwijdert de kop van de wachtrij. Retourneert
null
als de wachtrij leeg is.
Implementatie van de wachtrij-interface
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);
}
}
Uitvoer
Queue: [1, 2, 3] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 3]
Ga voor meer informatie naar Java LinkedList.
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);
}
}
Uitvoer
Queue: [1, 5, 2] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 5]
Ga voor meer informatie naar Java PriorityQueue.
In de volgende tutorials zullen we leren over verschillende subinterfaces van de Queue
interface en de implementatie ervan in detail.
Java