Java List Interface: Überblick, Implementierungen und Schlüsselmethoden
Java List Interface
Erkunden Sie das Java List Interface – seinen Zweck, gängige Implementierungen, essenzielle Methoden und wie es sich von Set unterscheidet.
In Java repräsentiert das List-Interface eine geordnete, index-basierte Sammlung, die Duplikate und Random Access unterstützt. Es erweitert Collection und ist Teil des Collections Framework.
Wichtige Implementierungen von List
Da List ein Interface ist, instanziieren Sie konkrete Klassen, um seine Funktionalität zu nutzen:
- ArrayList – basiert auf dynamischem Array, bietet schnellen Random Access.
- LinkedList – als doppelt verkettete Liste implementiert, glänzt bei Insertionen/Deletionen.
- Vector – Legacy synchronisierte Liste, selten in modernem Code genutzt.
- Stack – eine Unterklasse von Vector, die LIFO-Semantik folgt.

Diese Klassen sind im java.util-Paket definiert.
List im Code verwenden
Importieren Sie zuerst java.util.List (und die konkrete Klasse, die Sie nutzen möchten).
// ArrayList Implementierung List<String> arrayList = new ArrayList<>(); // LinkedList Implementierung List<String> linkedList = new LinkedList<>();
Die Variablen arrayList und linkedList exponieren nun alle List-Methoden.
Essenzielle List Methoden
Alle unten aufgelisteten Methoden werden von Collection geerbt und sind auf jeder List-Implementierung verfügbar.
add(E e)– Element anhängen.addAll(Collection<? extends E> c)– Massenhinzufügung.get(int index)– per Index abrufen.iterator()– sequenzielle Traversierung.set(int index, E element)– Element ersetzen.remove(Object o)– per Wert löschen.removeAll(Collection<? extends E> c)– Massenentfernung.clear()– Liste leeren.size()– Elementanzahl.toArray()– in Array konvertieren.contains(Object o)– Mitgliedschaft testen.
ArrayList in der Praxis
import java.util.List; import java.util.ArrayList; public class ArrayListDemo { public static void main(String[] args) { List<Integer> zahlen = new ArrayList<>(); zahlen.add(1); zahlen.add(2); zahlen.add(3); System.out.println("List: " + zahlen); int dritter = zahlen.get(2); System.out.println("Zugegriffenes Element: " + dritter); int entfernt = zahlen.remove(1); System.out.println("Entferntes Element: " + entfernt); } }
Ausgabe:
List: [1, 2, 3] Zugegriffenes Element: 3 Entferntes Element: 2
Für tiefere Einblicke in ArrayList konsultieren Sie die offizielle Oracle Dokumentation.
LinkedList in der Praxis
import java.util.List; import java.util.LinkedList; public class LinkedListDemo { public static void main(String[] args) { List<Integer> zahlen = new LinkedList<>(); zahlen.add(1); zahlen.add(2); zahlen.add(3); System.out.println("List: " + zahlen); int dritter = zahlen.get(2); System.out.println("Zugegriffenes Element: " + dritter); int index = zahlen.indexOf(2); System.out.println("Position von 2 ist " + index); int entfernt = zahlen.remove(1); System.out.println("Entferntes Element: " + entfernt); } }
Ausgabe:
List: [1, 2, 3] Zugegriffenes Element: 3 Position von 2 ist 1 Entferntes Element: 2
Weitere Details zu LinkedList finden sich in den Java Tutorials.
List vs. Set
Beide Interfaces erweitern Collection, unterscheiden sich aber in wesentlichen Aspekten:
- Listen bewahren Einfügereihenfolge und erlauben Duplikate.
- Sets erzwingen Eindeutigkeit und haben typischerweise keine definierte Reihenfolge (außer
SortedSetwird verwendet).
Erkunden Sie konkrete Implementierungen in kommenden Tutorials weiter.
Java
- Java Operatoren meistern: Typen, Syntax und praktische Beispiele
- Java Kommentare: Typen, Verwendung und Best Practices
- Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
- Java Strings meistern: Erstellung, Methoden und Best Practices
- Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
- Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
- Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
- Java Collections Algorithmen meistern: Sortieren, Mischen und mehr
- Java Autoboxing und Unboxing meistern: Praktische Beispiele und Best Practices
- Zufallszahlen in Java generieren: Praktischer Leitfaden mit Random und Math.random