Java List Interface: overzicht, implementaties en kernmethoden
Java List Interface
Verken de Java List interface – haar doel, veelvoorkomende implementaties, essentiële methoden, en hoe het verschilt van Set.
In Java vertegenwoordigt de List interface een geordende, index-gebaseerde collectie die duplicaten en random access ondersteunt. Het extends Collection en is onderdeel van het Collections Framework.
Kernimplementaties van List
Omdat List een interface is, instantieer je concrete klassen om zijn functionaliteit te gebruiken:
- ArrayList – backed by een dynamische array, biedt snelle random access.
- LinkedList – geïmplementeerd als een dubbel gelinkte lijst, uitstekend in inserties/deleties.
- Vector – legacy gesynchroniseerde lijst, zelden gebruikt in moderne code.
- Stack – een subklasse van Vector die LIFO semantiek volgt.

Deze klassen zijn gedefinieerd binnen het java.util pakket.
List in code gebruiken
Eerst importeer java.util.List (en de concrete klasse die je wilt gebruiken).
// ArrayList implementatie List arrayList = new ArrayList<>(); // LinkedList implementatie List linkedList = new LinkedList<>();
De variabelen arrayList en linkedList blootleggen nu alle List methoden.
Essentiële List methoden
Alle hieronder genoemde methoden zijn geërfd van Collection en beschikbaar op elke List implementatie.
add(E e)– voeg een element toe aan het einde.addAll(Collection extends E> c)– bulk toevoeging.get(int index)– haal op via index.iterator()– sequentiële traversal.set(int index, E element)– vervang element.remove(Object o)– verwijder op waarde.removeAll(Collection extends E> c)– bulk verwijdering.clear()– maak de lijst leeg.size()– aantal elementen.toArray()– converteer naar array.contains(Object o)– test lidmaatschap.
ArrayList in de praktijk
import java.util.List; import java.util.ArrayList; public class ArrayListDemo { public static void main(String[] args) { List getallen = new ArrayList<>(); getallen.add(1); getallen.add(2); getallen.add(3); System.out.println("Lijst: " + getallen); int derde = getallen.get(2); System.out.println("Benaderd element: " + derde); int verwijderd = getallen.remove(1); System.out.println("Verwijderd element: " + verwijderd); } }
Uitvoer
Lijst: [1, 2, 3] Benaderd element: 3 Verwijderd element: 2
Voor dieper inzicht in ArrayList, raadpleeg de officiële Oracle documentatie.
LinkedList in de praktijk
import java.util.List; import java.util.LinkedList; public class LinkedListDemo { public static void main(String[] args) { List getallen = new LinkedList<>(); getallen.add(1); getallen.add(2); getallen.add(3); System.out.println("Lijst: " + getallen); int derde = getallen.get(2); System.out.println("Benaderd element: " + derde); int index = getallen.indexOf(2); System.out.println("Positie van 2 is " + index); int verwijderd = getallen.remove(1); System.out.println("Verwijderd element: " + verwijderd); } }
Uitvoer
Lijst: [1, 2, 3] Benaderd element: 3 Positie van 2 is 1 Verwijderd element: 2
Meer details over LinkedList zijn beschikbaar in de Java Tutorials.
List vs. Set
Beide interfaces extend Collection maar verschillen in kernaspecten:
- Lijsten behouden invoegvolgorde en toestaan duplicaten.
- Sets dwingen uniekheid af en hebben doorgaans geen gedefinieerde volgorde (tenzij een
SortedSetgebruikt wordt).
De keuze tussen hen hangt af van of volgorde en duplicaten van belang zijn voor jouw use case.
Verken concrete implementaties in aankomende tutorials.
Java
- Java-operators beheersen: typen, syntax en praktische voorbeelden
- Java-commentaar: typen, gebruik en best practices
- Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
- Java Strings beheersen: aanmaken, methodes en best practices
- Java interfaces meesteren: concepten, implementatie en best practices
- Java Try-with-resources meesteren: automatische resource management uitgelegd
- Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
- Java Collection-algoritmes: Sorteren, shuffelen en meer
- Java Autoboxing en Unboxing: Praktische voorbeelden en best practices
- Willekeurige Getallen Genereren in Java: Praktische Gids met Random en Math.random
- Java 10: 70+ nieuwe API's & features uitgelegd