1. Een array is een container met elementen
U hebt waarschijnlijk gehoord dat computers enorme hoeveelheden informatie kunnen verwerken. Natuurlijk zijn voorwaardelijke statements ( if-else
) en loops ( for
, while
) hier een grote hulp. Maar ze kunnen je alleen zo ver brengen. De gegevens die u verwerkt, moeten immers ergens worden opgeslagen.
Zoals bijna alle programmeertalen, vergemakkelijkt Java gegevensverwerking door dit geweldige ding te bieden dat een array ( Array
klasse) wordt genoemd. Ze worden ook wel tabellen genoemd.
Een array is een speciaal object waarmee u niet één waarde kunt opslaan, maar meerdere .
Eerder vergeleken we een variabele met een box (waarin je elke waarde kunt opslaan). Als we die analogie voortzetten, kunnen we een array zien als een doos met interne compartimenten. Elk compartiment in de "box" (array) heeft een nummer. Natuurlijk begint de nummering bij nul...
Of we kunnen een andere analogie maken. Laten we een gewoon huis en een hoog flatgebouw vergelijken. Een gewoon huis wordt bewoond door een enkele familie, maar een hoogbouwflatgebouw is opgedeeld in appartementen. Als u een brief wilt sturen naar een gezin dat in een gewoon huis woont, geeft u het unieke adres van het huis op. En om een brief te sturen naar een gezin dat in een appartement woont, geef je zowel het unieke adres van het gebouw als het appartementnummer op.
Een matrixvariabele is als een hoogbouwvariabele. Het kan niet één maar vele waarden opslaan. Zo'n variabele heeft meerdere appartementen (cellen). Elk van hen kan worden aangesproken met hun nummer (index).
Om dit te doen, geeft u achter de naam van de variabele de index aan van de cel die u wilt adresseren, waarbij u de index tussen vierkante haken plaatst. Dit is vrij eenvoudig:
array[index] = value;
Waar array
is de naam van de arrayvariabele, index
is het celnummer in de array en value
is de waarde die we in de opgegeven cel willen plaatsen.
Maar laten we om te beginnen eens kijken hoe we arrays kunnen maken.
2. Een reeks elementen maken in Java
Stel dat uw programma 100
ergens gehele getallen moet opslaan. Een array zou hiervoor een goede kandidaat zijn. En hoe maak je er een aan?
Als we een enkel geheel getal wilden opslaan, int
zou het type bij ons passen. Maar als we gehele getallen willen opslaan 100
, hebben we waarschijnlijk een array van int
s nodig. Dit is hoe de code om er een te maken eruit zou zien:
int[] array = new int[100];
Laten we deze verklaring eens onderzoeken.
Zoals je misschien al geraden hebt, hebben we links van het gelijkteken de declaratie van een variabele met de naam array
waarvan het type int[]
. Het int
type wordt gevolgd door vierkante haken, wat aangeeft dat "boxen" van dit type niet één maar meerdere waarden kunnen opslaan.
Rechts van het gelijkteken hebben we een voorbeeld van "objectcreatie" (het new
sleutelwoord) om 100
elementen (cellen) te krijgen waarvan het type int is. Niets is hier te moeilijk.
Evenzo, als we een array van 20 cellen willen maken om reële getallen op te slaan, dan zou onze code er ongeveer zo uitzien:
double[] vals = new double[20];
Het aantal cellen in een array wordt de grootte van de array of de lengte van de array genoemd . En omdat arrays veel waarden kunnen opslaan, worden ze ook wel containers genoemd.
Hier is een belangrijk feit: u kunt de grootte van een array niet wijzigen nadat deze is gemaakt .
U kunt een nieuwe maken, maar de lengte van de bestaande container kan niet worden gewijzigd.
3. Werken met de cellen van een array
Oké, we hebben geleerd hoe we arrays kunnen maken. Hoe werken we nu met hen samen?
Nou ja, op bijna dezelfde manier als met gewone variabelen. Het enige verschil is dat we na de naam van de arrayvariabele het nummer moeten aangeven van de cel waarmee we werken.
De nummering van cellen in een array begint altijd vanaf nul. Als we een reeks 10
elementen hebben, dan zijn de nummers (indices) van de cellen 0..9
. Als de array 200
elementen bevat, zijn de indices 0..199
. En zo verder naar analogie.
Voorbeelden:
Code | Uitleg |
---|---|
|
Maak een reeks 10 int elementen. Wijs de waarde toe 4 aan de cel met index 2 . Wijs de waarde toe 9 aan de cel met index 7 . Schrijf in de cel met index 9 de som van de waarden die zijn opgeslagen in cellen 2 (waarin de waarde wordt opgeslagen 4 ) en 5 (waarin de waarde wordt opgeslagen 0 ). |
Dit is wat er in het geheugen wordt opgeslagen nadat deze code is uitgevoerd:
De kolom aan de linkerkant (in grijs) vertegenwoordigt de celaantallen (indices). De cellen slaan de toegewezen waarden op: 4
, 9
en 4
. Wanneer de array is gemaakt, zijn de cellen allemaal gevuld met nullen.
Dit is belangrijk. Alle cellen in een array hebben hetzelfde gegevenstype. Als we een array van String
s maken, kunnen alleen strings in de cellen worden opgeslagen. Het gegevenstype van een array wordt opgegeven wanneer deze wordt gemaakt. Noch het gegevenstype, noch de lengte van de array kan later worden gewijzigd.
GO TO FULL VERSION