Java ArrayList meesteren: operaties, methoden en best practices
Java ArrayList klasse
Ontdek de volledige kracht van Java's ArrayList: creëer, manipuleer, en itereer met duidelijke, real-world voorbeelden.
De ArrayList klasse, onderdeel van het Java Collections Framework, implementeert de List interface en biedt een hergrooteerbare array datastructuur. In tegenstelling tot statische arrays, past een ArrayList zijn capaciteit automatisch aan wanneer elementen toegevoegd of verwijderd worden, wat het een dynamische array maakt.

ArrayList vs. Array
Traditionele arrays vereisen een vaste grootte bij declaratie, wat flexibiliteit beperkt. ArrayList overkomt deze beperking door op demand te resizen, wat efficiënte dynamische datahandling mogelijk maakt.
Een ArrayList creëren
Importeer de klasse voor gebruik:
import java.util.ArrayList;
Instantieer met het gewenste elementtype:
// Integer type ArrayList ArrayList intList = new ArrayList<>(); // String type ArrayList ArrayList strList = new ArrayList<>();
Let op: Gebruik wrapper klassen (bijv. Integer voor int) omdat generics geen primitieve types ondersteunen.
Voorbeeld: Een ArrayList creëren
import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList talen = new ArrayList<>(); talen.add("Java"); talen.add("Python"); talen.add("Swift"); System.out.println("ArrayList: " + talen); } }
Uitvoer
ArrayList: [Java, Python, Swift]
Basisoperaties op ArrayList
Kernoperaties omvatten toevoegen, benaderen, wijzigen, en verwijderen van elementen. Hieronder zijn beknopte code snippets voor elk.
- Elementen toevoegen
- Elementen benaderen
- Elementen wijzigen
- Elementen verwijderen
1. Elementen toevoegen
Voeg een enkel element toe aan het einde:
ArrayList talen = new ArrayList<>(); talen.add("Java"); talen.add("C"); talen.add("Python"); System.out.println("ArrayList: " + talen);
Uitvoer
ArrayList: [Java, C, Python]
Invoegen op een specifieke index:
talen.add(1, "JavaScript"); talen.add(3, "C++");
Alle elementen uit een collectie toevoegen:
import java.util.ArrayList; import java.util.HashSet; class Main { public static void main(String[] args) { HashSet klinkers = new HashSet<>(); klinkers.add("a"); klinkers.add("e"); klinkers.add("i"); ArrayList alfabet = new ArrayList<>(); alfabet.addAll(klinkers); System.out.println("ArrayList: " + alfabet); } }
Uitvoer
ArrayList: [a, e, i]
2. Elementen benaderen
Opvragen via index:
ArrayList dieren = new ArrayList<>(); dieren.add("Kat"); dieren.add("Hond"); dieren.add("Koe"); String str = dieren.get(1); System.out.print("Element op index 1: " + str);
Uitvoer
Element op index 1: Hond
Itereren met een Iterator indien nodig.
3. Elementen wijzigen
Een bestaand element vervangen:
ArrayList talen = new ArrayList<>(); talen.add("Java"); talen.add("Kotlin"); talen.add("C++"); talen.set(2, "JavaScript"); System.out.println("Gewijzigde ArrayList: " + talen);
Uitvoer
Gewijzigde ArrayList: [Java, Kotlin, JavaScript]
4. Elementen verwijderen
Op index:
ArrayList dieren = new ArrayList<>(); dieren.add("Hond"); dieren.add("Kat"); dieren.add("Paard"); String verwijderd = dieren.remove(2); System.out.println("Bijgewerkte ArrayList: " + dieren); System.out.println("Verwijderd element: " + verwijderd);
Uitvoer
Bijgewerkte ArrayList: [Hond, Kat] Verwijderd element: Paard
Alle elementen wissen met clear() of een range verwijderen met removeAll().
Veelvoorkomende ArrayList methoden
Naast basis CRUD operaties, worden de volgende methoden frequent gebruikt:
| Methode | Beschrijving |
|---|---|
| size() | Retourneert het aantal elementen. |
| sort() | Sorteert de lijst. |
| clone() | Creëert een shallow copy. |
| contains() | Controleert op elementaanwezigheid. |
| ensureCapacity() | Pre-allokeert ruimte. |
| isEmpty() | Controleert of de lijst leeg is. |
| indexOf() | Vindt de eerste occurrence index. |
Voor een complete lijst, raadpleeg de officiële ArrayList API.
Itereren met for-each
ArrayList dieren = new ArrayList<>(); dieren.add("Koe"); dieren.add("Kat"); dieren.add("Hond"); for (String dier : dieren) { System.out.print(dier + ", "); }
Uitvoer
Koe, Kat, Hond,
Veelgestelde vragen
Wat is het verschil tussen Java ArrayList en LinkedList?
| ArrayList | LinkedList |
|---|---|
Implementeert List interface | Implementeert List, Queue, en Deque |
| Enkel aaneengeslagen geheugenblok | Nodes met next/prev referenties |
| Random access O(1) | Sequentiële access O(n) |
| Dynamisch resizen | Dynamisch resizen |
Hoe een ArrayList omzetten naar een array?
String[] arr = new String[talen.size()]; talen.toArray(arr);
Hoe een array omzetten naar ArrayList?
ArrayList lijst = new ArrayList<>(Arrays.asList(arr));
Hoe een ArrayList in één regel creëren en initialiseren?
ArrayList lijst = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
Hoe een ArrayList omzetten naar een String?
String str = talen.toString();
Hoe een ArrayList creëren via de List interface?
List lijst = new ArrayList<>();
Java
- Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
- Java instanceof operator: een uitgebreide gids
- Java geneste static classes begrijpen: gebruik, verschillen en voorbeelden
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Singleton patroon uitgelegd: hoe veilig te implementeren en gebruiken
- Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
- Java Vector begrijpen: Gebruik, Kenmerken en Vergelijking met ArrayList
- Java Collection-algoritmes: Sorteren, shuffelen en meer
- Java ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
- Java Generics: Herbruikbare, type-veilige code bouwen
- Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen