Die ArrayList zählt zu den wich­tigs­ten Da­ten­struk­tu­ren in Java. Sie erlaubt es dir, Samm­lun­gen von Objekten flexibel zu speichern und zu verändern. In diesem Guide zeigen wir dir die Syntax sowie die wich­tigs­ten Methoden der Java ArrayList.

Was un­ter­schei­det eine ArrayList von einem Array in Java?

Eine Java ArrayList zeichnet sich durch ihre dy­na­mi­sche Größe aus: Du kannst Elemente jederzeit un­kom­pli­ziert hin­zu­fü­gen oder löschen. Als Teil des Java Coll­ec­tions Frame­works ist sie im Gegensatz zu Standard-Arrays nicht nativ in­te­griert, sondern muss aus dem Paket java.util im­por­tiert werden.

Ar­ray­Lists 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 War­te­schlan­gen.

Klas­si­sche Arrays hingegen haben eine fixe Größe, die bereits bei der Er­stel­lung fest­ste­hen muss. Sie spielen ihre Stärken aus, wenn du eine bekannte Menge an pri­mi­ti­ven Da­ten­ty­pen wie int, float oder boolean verwalten möchtest.

Ein kleiner Nachteil der ArrayList ist die etwas längere Zu­griffs­zeit. Da der Speicher bei Ar­ray­Lists nicht zwingend zu­sam­men­hän­gend re­ser­viert wird (anders als beim Array), solltest du je nach An­wen­dungs­fall abwägen, welche Struktur für deine Per­for­mance am besten geeignet ist.

Die Syntax der Java ArrayList

Bevor du loslegst, im­por­tie­re die ent­spre­chen­de Klasse aus der java.util-Bi­blio­thek.

import java.util.ArrayList;
Java

Die grund­le­gen­de Syntax sieht so aus:

ArrayList<Type> arrayList= new ArrayList<>();
Java

„Type“ definiert dabei den Datentyp, den deine Java ArrayList enthalten soll.

Hier erstellen wir bei­spiel­haft Listen für String und Integer.

ArrayList<String> arrayList= new ArrayList<>();
Java
ArrayList<Integer> arrayList= new ArrayList<>();
Java

Wichtig: Ar­ray­Lists arbeiten mit den Wrapper-Klassen von pri­mi­ti­ven Da­ten­ty­pen, um diese als Objekte zu behandeln. Nutze daher Integer anstelle von int.

Pra­xis­bei­spie­le für Java-ArrayList-Methoden

Das Be­ar­bei­ten einer ArrayList erfolgt nicht über klas­si­sche Java-Ope­ra­to­ren, sondern über spezielle Methoden. Wir haben die wich­tigs­ten Befehle für dich zu­sam­men­ge­fasst.

Elemente hin­zu­fü­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);
    }
}
Java

Das Ergebnis der Ausgabe:

ArrayList: [blue, red, green]
Java

Elemente löschen

Möchtest du ein Objekt entfernen, nutzt du .remove() und gibst den ent­spre­chen­den 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);
    }
}
Java

In der Konsole siehst du nun die gekürzte Liste:

ArrayList: [blue, green]
Removed Element: red
Java

Beachte: 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 spe­zi­fi­schen 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);
    }
}
Java

Die Ausgabe liefert:

ArrayList: [jacket, shirt, pullover]
Element at index 2: pullover
Java

Elemente über­schrei­ben

Die Methode .set() ersetzt ein be­stehen­des 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);
    }
}
Java

An Index 2 steht nun yellow statt green:

ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]
Java

Größ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());
    }
}
Java

Das Ergebnis lautet:

3
Java

Sortieren und durch die Liste iterieren

Für die Sor­tie­rung benötigst du zu­sätz­lich die Coll­ec­tions-Klasse. Um die Liste zu durch­lau­fen, 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);
        }
    }
}
Java

Die Liste wird nun sortiert aus­ge­ge­ben:

9
17
20
54
Java

7c52aa8b4ff195eb3a997a56e24d8c77

Zum Hauptmenü