List und ArrayList (Beispiel)
Die Klasse ArrayList
aus der Java Standard API ist mächtig und praktisch, wenn es um die Verwaltung von Listen mit dynamischer Länge und sich ändernden Inhalten geht. Sie bietet Operationen, die mit klassischen Arrays aufwändig und immer wiederkehrend gleich implementiert werden müssten. Hier einige einfache Beispiele, die zeigen, wie man mit einer ArrayList
arbeiten kann.
Anmerkung vorab: Eine ArrayList
implementiert das Interface List
. Es ist zumeist gute Praxis, mit dem Interface anstatt der konkreten Implementierung weiterzuarbeiten. Deswegen weisen wir die ArrayList
-Referenzen an List
-Variablen zu:
ArrayList Beispiel: neu anlegen
Wir erzeugen eineArrayList
, fügen Elemente hinzu und geben diese einfach mal aus:farben.add("rot");
farben.add("blau");
farben.add("gelb");
farben.add("orange");
for (String current: farben) {
System.out.println(current);
}
ArrayList Beispiel: prüfen, ob ein Element enthalten ist
Wir nehmen die obige Liste und prüfen, ob ein paar bestimmte Farben enthalten sind:System.out.println("Lila ist dabei");
}
if (farben.contains("rot")) {
System.out.println("Rot ist dabei");
}
ArrayList Beispiel: Länge, Anzahl Elemente
Wir fragen die "Länge" einer Liste (size) ab, also "wieviele Elemente enthält die ArrayList":if (count > 100) {
// irgendwas tun, was bei langen Listen sinnvoll ist
} else {
// irgendwas tun, was bei kurzen Listen sinnvoll ist
}
ArrayList Beispiel: Elemente am Anfang einfügen
Wir fügen weitere Farben hinzu, aber nicht am Ende, sondern am Anfang.farben.add(0, "braun");
for (String current: farben) {
System.out.println(current);
}
Jetzt erscheint zuerst braun, dann beige, dann die übrigen Farben in der Reihenfolge wie vorhin.
Hinweis: Hier gibt es weitere Informationen zum Sortieren im Array
ArrayList Beispiel: Elemente löschen / entfernen
Wir können Objekte sowohl anhand Ihrer Idendität, als auch anhand Ihrer Position im Array entfernen:farben.remove("blau"); // Entfernt das Element "blau", sofern vorhanden
for (String current: farben) {
System.out.println(current);
}
Liste zu Liste hinzufügen: addAll
Wir können alle Elemente einer Liste zu einer anderen Liste hinzufügen, ohne dafür selbst eine Schleife programmieren zu müssen:neueFarben.add("cyan");
neueFarben.add("beige");
neueFarben.add("rosa");
farben.addAll(neueFarben);
for (String current: farben) { // Jetzt sehen wir alle unsere Farben
System.out.println(current);
}
ArrayList Beispiel: ArrayList aus Array erzeugen und ArrayList in Array umwandeln
Wir können in Java sowohl aus einem Array eineArrayList
erzeugen, als auch eine ArrayList
in ein Array umwandeln (wobei "umwandeln" streng genommen falsch ist, weil wir die ArrayList
selbst dabei nicht verwandeln, sondern einfach ein neues Array erzeugen, welches genau die selben Elemente enthält, wie die ArrayList
):final List<String> tiere = new ArrayList<String>(array); // erzeugt eine ArrayList mit den Elementen des Arrays
// Wichtig: das Array und die ArrayList existieren nun unabhängig voneinander; die Daten des Array wurden einfach kopiert.
// Änderungen des einen wirkt sich nach dem Kopiervorgang nicht mehr auf das andere aus.
// Beispiele:
array[1] = "Anderes Pferd"; // ändert nur das Array, nicht die ArrayList
tiere.add("Kuh"); // ändert nur die ArrayList, nicht das Array
// nun erzeugen wir ein Array mit den Elementen der ArrayList:
String[] neuesArray = new String[tiere.size()]; // Array mit der korrekten Anzahl Elemente anlegen
neuesArray = tiere.toArray(neuesArray); // Daten aus der ArrayList in Array kopieren
Nach oben, Inhaltsverzeichnis, Impressum |
Admin: Artikel editieren |