Queue
Die Datenstruktur für eine Warteschlange: die Queue.
java.util.Queue
Eine Queue ist ähnlich einem Stack ein Behälter, in den Elemente eingefügt und nur in einer bestimmten Reihenfolge
wieder entnommen werden können. Bei den Queues gilt das First In First Out (=FIFO) Prinzip:
Das Einfügen eines Elements erfolgt an einem Ende und heisst EnQueue. Die Entfernung eines Elements erfolgt dann am
anderen Ende und heisst DeQueue. Das heisst also, das erste Elemente, das einer Queue eingefügt wird, ist das Element
das zuerst der Queue entnommen werden kann.
Queues können in ihrer Grösse beschränkt oder unbeschränkt sein.

Auf Deutsch könnte man Queues als “Warteschlangen” bezeichnen.
Wir kennen Warteschlangen von unserem Alltag:
Beispielsweise vom Einkaufen, wo es eine Schlange von Kunden gibt, die an der Kasse auf einen Kassierer warten.
Ein Kunde stellt sich zu hinterst an und rückt “in der Warteschlange” vor, wenn vorherigen Kunden bedient wurden.

Beispiel:
1
2
3
4
5
6
7
8
| Queue<String> customers = new LinkedList<>();
customers.offer("Kunde 1");
customers.offer("Kunde 2");
customers.offer("Kunde 3");
System.out.println(customers.peek()); // Ausgabe: Kunde 1, Grösse immer noch 3
System.out.println(customers.poll()); // Ausgabe: Kunde 1, Grösse 2
System.out.println(customers.poll()); // Ausgabe: Kunde 2, Grösse 1
|
Alle Methoden vom Interface java.util.Queue
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| /*
* Fügt das angegebene Element in diese Queue ein,
* wenn dies möglich ist, ohne Kapazitätsbeschränkungen zu verletzen.
* Bei Erfolg wird true zurückgegeben. Eine IllegalStateException wird ausgelöst, wenn derzeit
* kein Platz verfügbar ist.
*/
boolean add(E e);
/*
* Fügt das angegebene Element in diese Queue ein,
* wenn dies möglich ist, ohne Kapazitätsbeschränkungen zu verletzen.
* Bei Erfolg wird true zurückgegeben und sonst wird false zurückgegeben.
*
* Bei der Verwendung einer Queue mit Kapazitätsbeschränkungen ist diese Methode in der Regel add(E e) vorzuziehen,
* da bei Verletzung der Kapazitätsbeschränkungen keine Exception geworfen wird, sondern false zurückgegeben wird.
*
*/
boolean offer(E e);
/*
* Gibt das Element am Anfang des Queues zurück und entfernt es in der Queue.
* Falls die Queue leer ist, dann wird null zurückgegeben.
*/
E poll();
/*
* Gibt das Element am Anfang des Queues zurück und entfernt es in der Queue.
* Diese Methode unterscheidet sich von poll() nur darin, dass sie eine Exception auslöst, wenn die Queue leer ist.
*/
E remove();
/*
* Gibt das Element am Anfang des Queues zurück, entfernt es aber nicht.
* Gibt null zurück, wenn die Queue leer ist.
*/
E peek();
/*
* Gibt das Element am Anfang des Queues zurück, entfernt es aber nicht.
* Diese Methode unterscheidet sich von peek() nur darin, dass sie eine Exception auslöst, wenn die Queue leer ist.
*/
E element();
|
Aufgaben
Aufgaben zu Modul #J6 - Java Collections
Last modified January 13, 2026:
Fix linter (29253f4ba)