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 ( Arrayklasse) wordt genoemd. Ze worden ook wel tabellen genoemd.

Een array is een speciaal object waarmee u niet één waarde kunt opslaan, maar meerdere .

Java-arrays

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 arrayis de naam van de arrayvariabele, indexis het celnummer in de array en valueis 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

Een reeks elementen maken in Java

Stel dat uw programma 100ergens 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, intzou het type bij ons passen. Maar als we gehele getallen willen opslaan 100, hebben we waarschijnlijk een array van ints 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 arraywaarvan het type int[]. Het inttype 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 newsleutelwoord) om 100elementen (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

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 10elementen hebben, dan zijn de nummers (indices) van de cellen 0..9. Als de array 200elementen bevat, zijn de indices 0..199. En zo verder naar analogie.

Voorbeelden:

Code Uitleg
int[] a = new int[10];
a[2] = 4;
a[7] = 9;
a[9] = a[2] + a[5];
Maak een reeks 10 intelementen.
Wijs de waarde toe 4aan de cel met index 2.
Wijs de waarde toe 9aan de cel met index 7.
Schrijf in de cel met index 9de 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:

Werken met de cellen van een int-array 2

De kolom aan de linkerkant (in grijs) vertegenwoordigt de celaantallen (indices). De cellen slaan de toegewezen waarden op: 4, 9en 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 Strings 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.