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