15.09.2014 Aufrufe

Schrödinger programmiert Java - Das etwas andere Fachbuch

Schrödinger programmiert Java - Das etwas andere Fachbuch

Schrödinger programmiert Java - Das etwas andere Fachbuch

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!