Schrödinger programmiert Java - Das etwas andere Fachbuch
Schrödinger programmiert Java - Das etwas andere Fachbuch
Schrödinger programmiert Java - Das etwas andere Fachbuch
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Hinten anstellen!<br />
Queues (auch Schlangen genannt) funktionieren genau andersrum als Stacks, und zwar nach dem sogenannten<br />
FIFO-Prinzip: first in first out. Hier kommt das erste Element, das hineinkommt, auch wieder zuerst raus.<br />
Und hier eine kurze Übersicht der<br />
wichtigsten Queue-Methoden:<br />
Methode<br />
add(E element),<br />
offer(E element)<br />
element(), peek()<br />
remove(), poll()<br />
Bedeutung<br />
Fügt ein neues Element vom Typ E hinzu.<br />
Liefert das zuerst eingefügte Element,<br />
ohne es zu entfernen.<br />
Liefert das zuerst eingefügte Element<br />
und entfernt es.<br />
Queue warteSchlange = new LinkedList(); *1<br />
warteSchlange.offer(new Person("Herr <strong>Schrödinger</strong>")); *2<br />
warteSchlange.offer(new Person("Frau Fransen"));<br />
warteSchlange.offer(new Person("Herr Müller"));<br />
while(warteSchlange.peek() != null) { *3<br />
}<br />
System.out.println("Der Nächste bitte! Ah, guten Tag "<br />
+ warteSchlange.poll() + "!"); *4<br />
Ausgabe:<br />
*2 Neue Elemente werden mit<br />
offer() hinzu gefügt.<br />
Der Nächste bitte! Ah, guten Tag Herr <strong>Schrödinger</strong>!<br />
Der Nächste bitte! Ah, guten Tag Frau Fransen!<br />
Der Nächste bitte! Ah, guten Tag Herr Müller!<br />
*3 Mit peek()<br />
schauen wir, ob noch<br />
Elemente in der Queue<br />
sind ...<br />
Um jetzt mal im<br />
Schuh-Universum zu bleiben:<br />
Ein prima Beispiel für die Anwendung<br />
von Queues wäre die Kundenschlange im<br />
Schuhladen. Wer zuerst an der Kasse ist,<br />
bezahlt in der Regel auch zuerst und verlässt<br />
als Erster den Laden.<br />
*1 LinkedList<br />
implementiert das<br />
Interface Queue.<br />
*4 ... und holen die<br />
mit poll() raus.<br />
Hier der<br />
Code dazu:<br />
[Notiz]<br />
Unser Collection-basierter Schuhtester<br />
funktioniert übrigens auch mit Queues und Stacks:<br />
mit Queues, da diese von List und damit von<br />
Collection ableiten, und mit Stacks, weil diese<br />
von der AbstractCollection ableiten.<br />
346 Kapitel ACHT<br />
Eine Warteschlange ist ein typisches<br />
Beispiel für eine Queue.