skip to main content

kiesler.at

JAVAs ArrayList
updated by rck, 2004-10-10

Immer wieder stellen sich Studenten bei der EPROG-Übung die Frage, wie sie denn nun am besten Datenstrukturen erstellen. Auch wenn das natürlich fallweise verschieden ist, lautet der Tenor der "alten Hasen" meistens: ArrayList!

Ich möchte in diesem Artikel meine persönliche Lieblingsdatenstruktur (eben die ArrayList) im Rahmen eines kurzen Tutorials vorstellen.

                     
1 | 2 | 3 | 4 | 5 | 6

Motivation

Das Problem ist so alt wie die EDV selbst. Wie speichere ich Daten so ab, dass ich sie nachher wieder auffinden kann? Wie baue ich mir eine Datenstruktur, mithilfe welcher ich möglichst einfach Daten rein und rausbekommen kann?

Wie sortiere ich meine Daten, wie lösche ich Daten mitten aus dieser Menge heraus, und so weiter und so fort.

Container in JAVA

Genau diesen Fragen nehmen sich die JAVA-Collections an. Allgemein gesprochen sind das sogenannte "Container" -- also Behälter, die quasi andere Objekte (Strings, Integers, wieder andere Container, was auch immer) beheimaten.

Das geniale an Collections ist, dass sie viele nützliche Funktionen bieten (Sortieren, Vergleichen, Einfügen, Rauslöschen), die man auf vielfältigste Weise ganz einfach nutzen kann. Zwei Beispiele:

  • Statt sich selbst ein Quicksort oder Heapsort zu programmieren, kann man collections grundsätzlich mit collection.sort() sortieren.
  • Möchte man wissen, ob sich ein bestimmtes Objekt in einer Collection befindet, geht das mit if collection.contains(Objekt) ...

Ich kann mir nur schwer einen einfacheren Weg vorstellen, solche Dinge zu lösen. Gerade in Übersetzerbau beispielsweise muß man sich um die Datenverwaltung komplett selber kümmern und entsprechende verkettete Listen und Bäume anlegen.

Die ArrayList

Die ArrayList ist eine spezielle Form von Collection. Folgende Eigenschaften unterscheiden sie von der Basisklasse:

  • jedes Element hat eine Reihenfolge.
  • Man kann entsprechend auf Elemente gemäß ihrer Reihenfolge zugreifen ("gib mir das 5. Element").
  • Man kann auch ganze Bereiche rauslöschen
  • und ganze ArrayLists anhängen.

Die weiteren Details gibt's auf der SUN Homepage, ich stelle auf den folgenden Seiten die wichtigsten Operationen vor.

                     
1 | 2 | 3 | 4 | 5 | 6



RSSComments - Make a comment
The comments are owned by the poster. We are not responsible for its content.
RSSAll Articles
2008, 2007, 2006, 2005, 2004