Java stellt standardmässig das Datenobjekt ArrayList zur Verfügung. Dies ermöglicht eine Liste von Objekten zu erstellen, deren Länge dynamisch ist. Mit der Methode .add() werden neue Objekte am Ende der Liste eingefügt und mit .remove(i) Objekte an der i.-Position aus der Liste gelöscht.
Die Methode .size() liefert die Länge der Liste zurück. Zu beachten gilt, dass das erste Element in der Liste den Index 0 und das letzte den Index .size() - 1 trägt.

Aufgaben:

  1. Erstellen Sie einige Objekte und löschen Sie anschliessend alle Kreis-Objekte aus der Liste. Welche Problematik ensteht beim Löschen von Objekten mit Hilfe einer for-Schleife?
  2. Welche Eigenschaften und Methoden weisen die Objekte in diesem Beispiel wohl auf?

Lösungshinweise

  1. Die Länge der Liste wird zu Beginn der for-Schleife mit .size() ausgelesen und als Begrenzung für den Schleifenzähler eingesetzt. Dies erzwingt die Liste von hinten nach vorne zu durchlaufen, da sonst die Schleife am Schluss der Liste Objekte abarbeiten will, die bereits gelöscht sind und nicht mehr existieren.
    Beispiel einer rückwärts durchlaufenen ArrayList mit Namen formenList:
  2. Das UML-Diagramm könnte wie folgt aussehen:

    Die Methode ueber() liefert wahr, wenn sich die Maus über dem entsprechenden Objekt befindet. Sie kann nur von der Klasse selber angesprochen werden und ist daher mit einem Minus-Zeichen gekennzeichnet.

Weitere Informationen:

fs in ksw - sci