7.3 Collections
In andere programmeertalen
De concepten in andere programmeertalen die het dichtst aanleunen bij Java collections zijn
- de Standard Template Library (STL) in C++
- enkele ingebouwde types, alsook de
collections
module in Python - de collecties in
System.Collections.Generic
in C#
Totnogtoe hebben we enkel gewerkt met een Java array (vaste grootte), en met ArrayList
(kan groter of kleiner worden).
In dit hoofdstuk kijken we in meer detail naar ArrayList, en behandelen we ook verschillende andere collectie-types in Java.
De meeste van die types vind je ook (soms onder een andere naam) terug in andere programmeertalen.
Je kan je afvragen waarom we andere collectie-types nodig hebben; uiteindelijk kan je (met genoeg werk) alles toch implementeren met een ArrayList? Dat klopt, maar de collectie-types verschillen in welke operaties snel zijn, en welke meer tijd vragen. Om dat wat preciezer te maken, kijken we eerst even naar de notie van tijdscomplexiteit.
- 7.3.1 Tijdscomplexiteit
- 7.3.2 Java Collections API
- 7.3.3 Lijsten
- 7.3.4 Wachtrijen
- 7.3.5 Verzamelingen
- 7.3.6 Maps
- Oefeningen
Andere collectie-API’s
Behalve de Java Collections API zijn er ook externe bibliotheken met collectie-implementaties die je (bijvoorbeeld via Gradle) kan gebruiken in je projecten. De twee meest gekende voorbeelden zijn
- Google Guava, en bijhorende documentatie
- Apache Commons, en bijhorende documentatie