Inhaltsverzeichnis
Warteschlange (Queue)
Für das nächste Kapitel "Breitensuche" brauchen wir eine neue Datenstruktur, die Warteschlange (engl.: Queue).
In einer Warteschlange können beliebig viele Elemente nacheinander abgelegt werden. Sie besitzt eine Methode addLast
um Elemente am hinteren Ende der Warteschlange anzufügen und eine Methode removeFirst
um Elemente am vorderen Ende zu entnehmen.
In der Programmiersprache Java gibt es mehrere Klassen, die die Aufgaben einer Warteschlange erfüllen können, daher sind die Methoden der Warteschlange im Interface Queue
definiert, das von mehreren Klassen implementiert wird, insbesondere von der Klasse LinkedList<T>
, die wir im Folgenden verwenden. Dabei ist T
die Klasse der Objekte, die in der LinkedList
gespeichert werden können.
Am folgenden Beispiel, in dem String-Werte zu einer LinkedList
hinzugefügt/aus dieser entnommen werden, sehen Sie, wie man diese Datenstruktur verwenden kann:
Tipp: Iterieren über alle Elemente einer LinkedList
Eine Wiederholung, die für alle Elemente einer LinkedList
ausgeführt wird, kannst Du z.B. mit der vereinfachten for-Loop erreichen:
Beispiel: Supermarktkasse
Erstelle eine Klasse Supermarktkasse" mit den Methoden
anstellen(String name),
alleAusgeben() und
kassieren(). Das unten schon vorgegebene Hauptprogramm soll die folgende Bildschirmausgabe bewirken:
Tipps:
Supermarktkasse
* Zur Ausgabe der Gesamtliste siehe den Tipp oben!
* Gib der Klasse ein Attribut
queue vom Datentyp
LinkedList<STring>''. Instanziere das Objekt im Konstruktor, dann kannst Du es nachfolgend in allen anderen Methoden benutzen, um die Kunden zu speichern.