Java ArrayList: Wie Sie eine Liste erstellen und verwenden
Die ArrayList zählt zu den wichtigsten Datenstrukturen in Java. Sie erlaubt es dir, Sammlungen von Objekten flexibel zu speichern und zu verändern. In diesem Guide zeigen wir dir die Syntax sowie die wichtigsten Methoden der Java ArrayList.
Was unterscheidet eine ArrayList von einem Array in Java?
Eine Java ArrayList zeichnet sich durch ihre dynamische Größe aus: Du kannst Elemente jederzeit unkompliziert hinzufügen oder löschen. Als Teil des Java Collections Frameworks ist sie im Gegensatz zu Standard-Arrays nicht nativ integriert, sondern muss aus dem Paket java.util importiert werden.
ArrayLists sind immer dann die ideale Wahl, wenn die Anzahl der Elemente in deiner Java List variieren kann – etwa beim Verwalten von Objekten, beim Filtern und Sortieren von Daten oder beim Aufbau von Warteschlangen.
Klassische Arrays hingegen haben eine fixe Größe, die bereits bei der Erstellung feststehen muss. Sie spielen ihre Stärken aus, wenn du eine bekannte Menge an primitiven Datentypen wie int, float oder boolean verwalten möchtest.
Ein kleiner Nachteil der ArrayList ist die etwas längere Zugriffszeit. Da der Speicher bei ArrayLists nicht zwingend zusammenhängend reserviert wird (anders als beim Array), solltest du je nach Anwendungsfall abwägen, welche Struktur für deine Performance am besten geeignet ist.
Die Syntax der Java ArrayList
Bevor du loslegst, importiere die entsprechende Klasse aus der java.util-Bibliothek.
import java.util.ArrayList;JavaDie grundlegende Syntax sieht so aus:
ArrayList<Type> arrayList= new ArrayList<>();Java„Type“ definiert dabei den Datentyp, den deine Java ArrayList enthalten soll.
Hier erstellen wir beispielhaft Listen für String und Integer.
ArrayList<String> arrayList= new ArrayList<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaWichtig: ArrayLists arbeiten mit den Wrapper-Klassen von primitiven Datentypen, um diese als Objekte zu behandeln. Nutze daher Integer anstelle von int.
Praxisbeispiele für Java-ArrayList-Methoden
Das Bearbeiten einer ArrayList erfolgt nicht über klassische Java-Operatoren, sondern über spezielle Methoden. Wir haben die wichtigsten Befehle für dich zusammengefasst.
Elemente hinzufügen
Wir erstellen die Liste „colors“ vom Typ String und befüllen sie mittels .add().
import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println("ArrayList: " + colors);
}
}JavaDas Ergebnis der Ausgabe:
ArrayList: [blue, red, green]JavaElemente löschen
Möchtest du ein Objekt entfernen, nutzt du .remove() und gibst den entsprechenden Index an.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println("ArrayList: " + colors);
String color = colors.remove(1);
System.out.println("ArrayList: " + colors);
System.out.println("Removed Element: " + color);
}
}JavaIn der Konsole siehst du nun die gekürzte Liste:
ArrayList: [blue, green]
Removed Element: redJavaBeachte: In Java beginnt die Zählung bei Position 0. Das Element an Index 1 ist in diesem Fall also red.
Auf Elemente zugreifen
Mit der Funktion .get() holst du dir den Wert einer spezifischen Position.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> clothes = new ArrayList<>();
clothes.add("jacket");
clothes.add("shirt");
clothes.add("pullover");
System.out.println("ArrayList: " + clothes);
String str = clothes.get(2);
System.out.print("Element at index 2: " + str);
}
}JavaDie Ausgabe liefert:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pulloverJavaElemente überschreiben
Die Methode .set() ersetzt ein bestehendes Element an einem gewählten Index.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println("ArrayList: " + colors);
colors.set(2, "yellow");
System.out.println("Modified ArrayList: " + colors);
}
}JavaAn Index 2 steht nun yellow statt green:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaGröße der ArrayList ermitteln
Wie viele Einträge deine Liste aktuell hat, erfährst du ganz einfach über .size().
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println(colors.size());
}
}JavaDas Ergebnis lautet:
3JavaSortieren und durch die Liste iterieren
Für die Sortierung benötigst du zusätzlich die Collections-Klasse. Um die Liste zu durchlaufen, eignet sich eine Java For-Each Loop besonders gut.
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> ages = new ArrayList<Integer>();
ages.add(20);
ages.add(54);
ages.add(17);
ages.add(9);
Collections.sort(ages);
for (int i : ages) {
System.out.println(i);
}
}
}JavaDie Liste wird nun sortiert ausgegeben:
9
17
20
54Java7c52aa8b4ff195eb3a997a56e24d8c77