„Hi, Amigo. Heute möchte ich dir von Collections erzählen. In Java bezeichnet eine Collection/ein Container eine Klasse, deren Hauptzweck darin besteht, eine Sammlung von anderen Elementen zu speichern. Eine solche Klasse kennst du bereits: ArrayList.“

„In Java werden Collections in drei Hauptgruppen eingeteilt: Set, List und Map.“

„Worin besteht der Unterschied zwischen ihnen?“

„Beginnen wir mit dem Set. Stell dir viele Schuhe vor, die auf einen Haufen geworfen werden. Das ist ein ‚Set‘. Du kannst ein Element zu einem Set hinzufügen, nach ihm suchen oder es löschen. Entscheidend ist, dass die Elemente des Sets keine bestimmte Reihenfolge haben.“

Lektion über Collections - 1

„Da verliert man schnell den Überblick…“

„Jetzt stell dir den gleichen Haufen Schuhe vor, der ordentlich an der Wand angeordnet ist. Jetzt gibt es eine Reihenfolge. Jedes Element hat seine eigene Nummer. Du kannst Paar Nummer 4 einfach nach seiner Nummer (Index) herausgreifen. Dies ist eine ‚List‘. Du kannst ein Element am Anfang oder in der Mitte einer Liste einfügen oder ein Element entfernen – einfach über seinen Index.“

Lektion über Collections - 2

„Verstehe. Was ist denn eine Map?“

„Stell dir die gleichen Schuhe vor, aber jetzt hat jedes Paar ein Schild mit einem Namen. ‚Nils‘, ‚Jonas‘ oder ‚Anna‘. Das ist eine ‚Map‘ (oft auch als ‚Dictionary‘ bezeichnet). Jedes Element hat einen eigenen eindeutigen Namen, über den es angesprochen wird. Dieser eindeutige Name für jedes Element wird oft als ‚Schlüssel‘ bezeichnet. Eine Map ist also ein Set von Schlüssel-Wert-Paaren. Der Schlüssel muss keine Zeichenkette sein: Er kann ein beliebiger Typ sein. Eine Map, deren Schlüssel Integer-Werte sind, ist tatsächlich eine List (mit ein paar Unterschieden).“

Lektion über Collections - 3

„Das verstehe ich mehr oder weniger, aber ich würde gerne mehr Beispiele haben.“

„Ritschie wird dir Beispiele geben, aber ich möchte noch etwas ergänzen.“

„Unmittelbar nach der Erstellung speichern Collections und Container nichts, aber du kannst Elemente nacheinander zu ihnen hinzufügen. Wenn du das tust, wird sich ihre Größe dynamisch ändern.“

„Cool, das ist interessant. Woher weiß ich denn, wie viele Elemente eine Collection enthält?“

„Dafür gibt es die Methode size(). Collections haben alles, was du brauchst. Ich glaube, dass du nach ein paar weiteren Lektionen selbst sehen wirst, wie praktisch Collections sind.“

„Ich hoffe es, Ellie.“