De klasse ArrayList is een onderdeel van de Java util-package en daarom moet elk programma dat gebruik maakt van arraylijsten beginnen met het volgende import-statement:
import java.util.*;
Een arraylijst kan op dezelfde manier gemaakt worden als elk ander object. We geven de arraylijst een geschikte naam en gebruiken het keyword new:
ArrayList boodschappen = new ArrayList();
Dit creëert een lege arraylijst.
Een andere mogelijkheid is, waarbij het type wordt opgegeven dat in de ArrayList zal worden opgeslagen.
ArrayList<String> boodschappen = new ArrayList<>();
Een item kan heel eenvoudig toegevoegd worden aan een arraylijst, met behulp van de bibliotheekmethode add. Een voorbeeld:
boodschappen.add("eieren");
boodschappen.add("melk");
boodschappen.add("koffie");
In dit voorbeeld is de naam van de arraylijst boodschappen. De methode add voegt het item toe aan het einde van de bestaande arraylijst. De parameter van deze methode is de waarde die aan de arraylijst wordt toegevoegd, in dit geval de string "eieren". Een arraylijst kan net zoveel worden uitgebreid als nodig is om de toegevoegde gegevens te bevatten. Een arraylijst is als het ware van elastiek gemaakt.
We kunnen de lengte van een arraylijst opvragen met behulp van de bibliotheekmethode size(). Een voorbeeld:
int aantboodschappen = boodschappen.size();
Een programma verwijst naar de items in een arraylijst door middel van een index. Een index is een integer die aangeeft naar welk item verwezen wordt. Het eerste item heeft indexwaarde 0, het tweede 1 enzovoort. Men kan zich de voorgaande boodschappenarraylijst als een tabel voorstellen zoals in de onderstaande figuur, met de indexwaarden onder de items. Deze indexwaarden worden niet werkelijk bij de gegevens opgeslagen.
eieren melk koffie
0 1 2
Je kan een item op een specifieke positie opvragen met behulp van de methode get
String product = boodschappen.get(0);
Je kan een item op een specifieke positie wijzigen met behulp van de methode set
String product = boodschappen.set(0, "boter");
In een voorgaande paragraaf kwam aan bod hoe items kunnen toegevoegd worden aan een arraylijst. Nu wordt bekeken hoe informatie weer kan verwijderd worden. De methode remove van de klasse ArrayList verwijdert het item dat bij een bepaalde indexaarde hoort. Stel de arraylijst boodschappen, dan kan het item met indexwaarde 2 verwijderd worden door:
boodschappen.remove(2);
Wanneer dit gebeurt, wordt het gat in de lijst meteen opgevuld. De lengte van de arraylijst wordt verminderd met het aantal verwijderde items.
Uit een arraylijst kunnen alle gegevens worden verwijderd door de clear-methode te gebruiken, zoals in:
boodschappen.clear();
Er kwam reeds aan bod hoe items kunnen toegevoegd worden aan het einde van een arraylijst met behulp van de methode add. Het is ook mogelijk om items op een andere plaats in een arraylijst in te voegen, eveneens met behulp van de methode add. Bij een bestaande arraylijst kan dit als volgt:
boodschappen.add(1, "soep");
Het item dat eerst indexwaarde 1 had wordt naar rechts opgeschoven, samen met alle volgende items. De lengte van de arraylijst wordt aangepast om plaats te bieden aan dit nieuwe item.
Wanneer je een array declareert, geef je op hoeveel rijen en kolommen deze heeft.
De array arrVerkopen heeft vier rijen: één voor elk van de vier winkels. Hij heeft zeven kolommen: één voor elke dag van de week.
De array bevat de verkoopcijfers voor elk van de vier winkels voor elke dag van de week.
In de array arrTemperaturen is de informatie over de de temperaturen van tien verschillende ovens op elk uur gedurende een periode van vierentwintig uur opgeslagen.
Je kan controleren of een item zich in de ArrayList bevindt, als volgt:
boodschappen.contains("soep");
Je kan ook de positie opvragen waar dit item zich bevindt
int positieSoep = boodschappen.indexOf("soep");
Er bestaan meerdere manieren om alle items in een ArrayList te overlopen.
De vertrouwde manier:
for (int i = 0; i < boodschappen.size(); i++) {
System.out.println(boodschappen.get(i));
}
De korte manier:
for (String product : boodschappen) {
System.out.println(product);
}