Java ArrayList: Wie Sie eine Liste erstellen und verwenden

Die ArrayList ist eine der am häufigsten verwendeten Datenstrukturen in Java. Sie ermöglicht die dynamische Änderung und Speicherung von einer Sammlung von Objekten. In diesem Tutorial stellen wir Ihnen die Syntax und Methoden der Java ArrayList vor.

Was ist der Unterschied zwischen ArrayList und Array in Java?

Die Java ArrayList besitzt eine dynamische Größe, was bedeutet, dass Elemente einfach hinzugefügt oder entfernt werden können. Des Weiteren gehört die ArrayList-Klasse zum Java Collections Framework und steht im Gegensatz zu Arrays nicht nativ zur Verfügung. Sie muss aus der Bibliothek java.util importiert werden.

ArrayLists sind eine passende Wahl, wenn die Länge der Java List variieren kann. Beispiele hierfür sind das Speichern von Objekten, das Durchsuchen oder Sortieren von Daten sowie das Erstellen von Listen oder Warteschlangen.

Im Vergleich dazu ist die Größe beim Datentyp Array nicht veränderbar. Daher muss die Anzahl der Objekte, die der Array aufnehmen soll, schon vorher bekannt sein. Arrays eignen sich deshalb zum Verwalten einer vordefinierten Menge von primitiven Datentypen wie int, float, char oder boolean.

Ein Nachteil von ArrayLists ist die längere Zugriffszeit. Während bei Arrays ein fest reservierter Speicherbereich vorliegt, ist dieser bei ArrayLists nicht zusammenhängend. Es ist deshalb wichtig, die jeweiligen Vor- und Nachteile zu berücksichtigen und die richtige Datenstruktur für den jeweiligen Anwendungsfall auszuwählen.

Die Syntax der Java ArrayList

Vor der Erstellung einer ArrayList muss die entsprechende Klasse aus der java.util-Bibliothek importiert werden.

import java.util.ArrayList;
Java

Die allgemeine Syntax lautet:

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

„Type“ steht hierbei für den jeweiligen Datentyp der Java ArrayList.

Nachfolgend erstellen wir Listen vom Typ String und Integer.

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

ArrayLists benutzen die entsprechende Wrapper-Klasse von primitiven Datentypen, damit diese wie Objekte behandelt werden. Deshalb müssen wir Integer statt int angeben.

Beispiele für Java-ArrayList-Methoden

Operationen wie das Hinzufügen oder Entfernen von Elementen werden bei ArrayLists nicht mit Java-Operatoren, sondern über vordefinierte Methoden ausgeführt. Im Folgenden zeigen wir Ihnen die gängigsten ArrayList-Methoden.

Hinzufügen von Elementen

Nachdem wir die ArrayList „colors“ vom Typ String erstellt haben, fügen wir mit der Methode .add() verschiedene Elemente hinzu.

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

Dies führt zur Ausgabe:

ArrayList: [blue, red, green]
Java

Entfernen von Elementen

Um Objekte aus einer Java ArrayList zu entfernen, verwenden wir die Methode .remove() mit der Angabe des Indexes des Elements.

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

Die Ausgabe zeigt die modifizierte ArrayList und das entfernte Element an:

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

Wie bei den meisten Programmiersprachen beginnt bei Java die Zählweise an der Position 0. Daher ist das entfernte Element beim Index 1 red.

Zugreifen auf Elemente in einer Java ArrayList

Mit der Funktion .get() greifen wir auf ein Element an einer bestimmten Position zu.

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

In der Ausgabe erhalten wir:

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

Ändern von Elementen

Mit .set() legen wir ein neues Element bei einem spezifischen Index fest.

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

In der Ausgabe sehen wir beim Index 2 nun yellow statt green:

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

Länge der Java ArrayList bestimmen

Die Anzahl der Elemente einer ArrayList lässt sich einfach mit der Methode .size() berechnen.

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

Als Ergebnis erhalten wir:

3
Java

Sortieren und Iterieren durch eine ArrayList

Um eine Java ArrayList zu sortieren, muss die Collections-Klasse importiert werden. Für die Iteration benutzen wir eine Java For-Each Loop. Pro Durchlauf der Schleife wird das jeweilige Element an die Konsole ausgegeben.

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 Elemente der ArrayList werden in aufsteigender Reihenfolge wiedergegeben:

9
17
20
54
Java