Inhaltsverzeichnis

Objektsammlungen (ArrayList)

Java bringt zahlreiche Bibliotheksklassen mit, die zwar streng genommen nicht Teil der Sprache sind, aber so eng mit dem Sprachkern verbunden sind, dass diese Genze teilweise verschwimmt.

In diesem Abschnitt wollen wir uns die Bibliotheksklasse ArrayList() anschauen, die uns in vielen Aspekten an unsere zuvor selbst implementierte verkettete Liste erinnern wird.

Die Klasse ArrayList() stellt eine einfache Art der Objektsammlung dar: Eine unsortierte, aber geordnete Liste flexibler Größe1)

Kapitel 4 im Buch, S. 131-181. Den für die Übungen dieses Kapitels nötigen Beispielcode findest du hier:

Zentrale Konzepte

Aufgaben zur Musiksammlung-v1

Untersuche das Projekt Musiksammlung-v1: https://codeberg.org/qg-info-unterricht/jlmb-musiksammlung-v1


(A1)


(A2)

Erzeuge ein neues Objekt der Klasse Musiksammlung und rufe dann sofort die Methode entferneDatei(0) auf. Erhältst du eine Fehlermeldung? Würdest du erwarten, dass ein Fehler auftritt?


(A3)

Erzeuge ein neues Musiksammlungsobjekt, füge zwei Titel ein und betrachte den Zustand deiner Sammlung, indem du mit der Methode dateiAusgeben() für die verschiedenen Indizes alle gespeicherten Titel betrachtest. Lösche den Titel mit dem Index 0 - was zeigt dateiAusgeben(0) jetzt an? Was kannst du daraus folgern?

Die for-each Schleife

Um die Elemente einer Array-List bequem sequenziell verarbeiten zu können, bietet Java die for-each-Schleife:

for (Elementtyp element: sammlung) {
 
}

2)

Für unsere Musiksammlung könnte das so aussehen:

for (String dateiname: dateien) {
 
  // tu etwas mit dateiname
 
}

(A4)


(A5)

In einer Klasse Spielleiter soll mit Hilfe einer ArrayList eine Spielerinnen-Liste verwaltet werden. Implementiere diese Funktionalität in folgendem BlueJ-Projekt https://codeberg.org/qg-info-unterricht/bluej-spielerliste.

Material

FilenameFilesizeLast modified
aa_jlmb_kap4_ii-markervariable.odp17.7 KiB06.10.2021 17:04
aa_jlmb_kap4_ii-markervariable.pdf46.3 KiB06.10.2021 17:04
aa_jlmb_kap4_ii.odp18.8 KiB06.10.2021 17:04
aa_jlmb_kap4_ii.pdf29.2 KiB06.10.2021 17:04
kap04_foreach.odp1.2 MiB18.10.2021 21:17
kap04_foreach.pdf89.5 KiB18.10.2021 21:17
kap04_iterator.odp1.2 MiB18.10.2021 21:59
kap04_iterator.pdf154.1 KiB18.10.2021 21:59
kapitel4.odp4.0 MiB06.10.2021 17:04
kapitel4.pdf743.3 KiB06.10.2021 17:04
1)
Das erinnert sehr an die verkette Liste, nicht wahr…
2)
ArrayList ist eine Unterklasse von Collection, also eine Sammlung