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