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

Elemente auslesen

Auch für den Lesendzugriff gibt es zahlreiche Methoden, die wieder auf einzelne Fälle spezialisiert sind. Hilfreich ist, wie fast immer beim Programmieren, zuerst die Dokumentation auf nützliche Methoden zu untersuchen und erst dann gegebenenfalls Dinge selber auszuprogrammieren. Stichwort: Durchsuchen einer ArrayList, Sortieren, Elementweise Bearbeitungen, und so weiter. Beschreibe ich alles noch, keine Sorge!

  • ArrayList.get(Index) ist hilfreich, wenn man den Index eines Wertes bereits kennt und diesen Auslesen will. Als Suchergebnis -- mehr zur Suche im folgenden Abschnitt -- bekommt man meistens genau so einen Index.
  • ArrayList.toArray() liefert die ArrayList als normales JAVA-Array zurück. Die Reihenfolge der Elemente entspricht dabei der der ArrayList. Nützlich für manche Methoden, die explizit ein "gewöhnliches" Array verlangen.
  • ArrayList.toArray(Objekt[] a) liefert alle Elemente des angegebenen Objekttyps aus der ArrayList zurück. Zur Erinnerung: Es können beliebige Elemente unterschiedlichster Typen in die ArrayList geschrieben werden. Manchmal ist es dennoch wünschenswert, beispielsweise nur alle Strings gesammelt zu haben. Das ginge dann mit ArrayList.toArray(String[] a).
  • ArrayList.toString() geht zwar mit fast allen Objekten, ich möchte es aber hier nochmal besonders herausstreichen. toString wandelt die ArrayList in einen lesbaren String um, den man sich zB zwecks Debugging ausgeben kann.

Elemente suchen

Mit einer ArrayList kann man ansich schon eine kleine Datenbank basteln. Einziges Handycap: Daten können nicht permanent gespeichert werden. Doch auch dafür gäbe es wieder einen anderen Spezialisten, der den Rahmen dieses kurzen Tutorials sprengen würde.

  • ArrayList.contains(Objekt) liefert true, wenn das Objekt in der ArrayList gespeichert wurde, sonst false.
  • ArrayList.indexOf(Objekt) liefert den Index des übergebenen Objektes. Als Vergleichsfunktion wird equals() verwendet, welches bei benutzerdefinierten Datentypen möglicherweise erst definiert werden muß. Bei mehreren Treffern wird nur der erste zurückgeliefert.
  • ArrayList.lastIndexOf(Objekt) wie indexOf, liefert jedoch die letzte Stelle des Objekts. Beginnt also von hinten.
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