Java ArrayList meistern: Operationen, Methoden und Best Practices
Java ArrayList Klasse
Entdecken Sie die volle Power von Javas ArrayList: erstellen, manipulieren und iterieren mit klaren, realitätsnahen Beispielen.
Die ArrayList-Klasse, Teil des Java Collections Framework, implementiert das List-Interface und bietet eine größenveränderbare Array-Datenstruktur. Im Gegensatz zu statischen Arrays passt eine ArrayList ihre Kapazität automatisch an, wenn Elemente hinzugefügt oder entfernt werden, was sie zu einem dynamischen Array macht.

ArrayList vs. Array
Traditionelle Arrays erfordern eine feste Größe bei der Deklaration, was Flexibilität einschränkt. ArrayList überwindet diese Limitierung durch bedarfsgerechtes Resizing und ermöglicht effizientes dynamisches Datenhandling.
ArrayList erstellen
Importieren Sie die Klasse vor der Nutzung:
import java.util.ArrayList;
Instanziieren Sie mit dem gewünschten Elementtyp:
// Integer Typ ArrayList ArrayList<Integer> intListe = new ArrayList<>(); // String Typ ArrayList ArrayList<String> strListe = new ArrayList<>();
Hinweis: Verwenden Sie Wrapper-Klassen (z. B. Integer für int), da Generics keine primitiven Typen unterstützen.
Beispiel: ArrayList erstellen
import java.util.ArrayList; class Haupt { public static void main(String[] args){ ArrayList<String> sprachen = new ArrayList<>(); sprachen.add("Java"); sprachen.add("Python"); sprachen.add("Swift"); System.out.println("ArrayList: " + sprachen); } }
Ausgabe:
ArrayList: [Java, Python, Swift]
Grundlegende Operationen auf ArrayList
Kernoperationen umfassen Hinzufügen, Zugreifen, Modifizieren und Entfernen von Elemente. Nachfolgend prägnante Code-Snippets für jede.
- Elemente hinzufügen
- Elemente zugreifen
- Elemente ändern
- Elemente entfernen
1. Elemente hinzufügen
Ein einzelnes Element anhängen:
ArrayList<String> sprachen = new ArrayList<>(); sprachen.add("Java"); sprachen.add("C"); sprachen.add("Python"); System.out.println("ArrayList: " + sprachen);
Ausgabe:
ArrayList: [Java, C, Python]
An spezifischem Index einfügen:
sprachen.add(1, "JavaScript"); sprachen.add(3, "C++");
Alle Elemente einer Collection hinzufügen:
import java.util.ArrayList; import java.util.HashSet; class Haupt { public static void main(String[] args) { HashSet<String> vokale = new HashSet<>(); vokale.add("a"); vokale.add("e"); vokale.add("i"); ArrayList<String> alphabet = new ArrayList<>(); alphabet.addAll(vokale); System.out.println("ArrayList: " + alphabet); } }
Ausgabe:
ArrayList: [a, e, i]
2. Elemente zugreifen
Per Index abrufen:
ArrayList<String> tiere = new ArrayList<>(); tiere.add("Katze"); tiere.add("Hund"); tiere.add("Kuh"); String str = tiere.get(1); System.out.print("Element an Index 1: " + str);
Ausgabe:
Element an Index 1: Hund
Bei Bedarf mit Iterator iterieren.
3. Elemente modifizieren
Ein existierendes Element ersetzen:
ArrayList<String> sprachen = new ArrayList<>(); sprachen.add("Java"); sprachen.add("Kotlin"); sprachen.add("C++"); sprachen.set(2, "JavaScript"); System.out.println("Modifizierte ArrayList: " + sprachen);
Ausgabe:
Modifizierte ArrayList: [Java, Kotlin, JavaScript]
4. Elemente entfernen
Per Index:
ArrayList<String> tiere = new ArrayList<>(); tiere.add("Hund"); tiere.add("Katze"); tiere.add("Pferd"); String entfernt = tiere.remove(2); System.out.println("Aktualisierte ArrayList: " + tiere); System.out.println("Entferntes Element: " + entfernt);
Ausgabe:
Aktualisierte ArrayList: [Hund, Katze] Entferntes Element: Pferd
Alle Elemente mit clear() leeren oder einen Bereich mit removeAll() entfernen.
Gängige ArrayList Methoden
Jenseits grundlegender CRUD-Operationen werden folgende Methoden häufig genutzt:
| Methode | Beschreibung |
|---|---|
| size() | Gibt die Anzahl der Elemente zurück. |
| sort() | Sortiert die Liste. |
| clone() | Erstellt eine flache Kopie. |
| contains() | Prüft Elementvorhandensein. |
| ensureCapacity() | Speicherplatz vorreservieren. |
| isEmpty() | Prüft, ob Liste leer ist. |
| indexOf() | Findet Index des ersten Vorkommens. |
Für eine vollständige Liste siehe die offizielle ArrayList API.
Mit for-each iterieren
ArrayList<String> tiere = new ArrayList<>(); tiere.add("Kuh"); tiere.add("Katze"); tiere.add("Hund"); for (String tier : tiere) { System.out.print(tier + ", "); }
Ausgabe:
Kuh, Katze, Hund,
Häufig gestellte Fragen
Was ist der Unterschied zwischen Java ArrayList und LinkedList?
| ArrayList | LinkedList |
|---|---|
Implementiert List Interface | Implementiert List, Queue und Deque |
| Einziger zusammenhängender Speicherblock | Nodes mit next/prev Referenzen |
| Random Access O(1) | Sequentieller Access O(n) |
| Dynamisches Resizing | Dynamisches Resizing |
Wie ArrayList in Array konvertieren?
String[] arr = new String[sprachen.size()]; sprachen.toArray(arr);
Wie Array in ArrayList konvertieren?
ArrayList<String> liste = new ArrayList<>(Arrays.asList(arr));
Wie ArrayList in einer Zeile erstellen und initialisieren?
ArrayList<String> liste = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
Wie ArrayList in String konvertieren?
String str = sprachen.toString();
Wie ArrayList über List Interface erstellen?
List<String> liste = new ArrayList<>();
Java
- Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen
- Java instanceof-Operator: Ein umfassender Leitfaden
- Java statische verschachtelte Klassen verstehen: Nutzung, Unterschiede und Beispiele
- Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
- Java Singleton-Pattern erklärt: Sichere Implementierung und Verwendung
- Java Reflection meistern: Klassen, Methoden und Felder zur Laufzeit inspizieren
- Java Vector verstehen: Verwendung, Funktionen und Vergleich mit ArrayList
- Java Collections Algorithmen meistern: Sortieren, Mischen und mehr
- Java ObjectOutputStream meistern: Serialisierung, Methoden und praktische Beispiele
- Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen