Hoe te werken met arrays: declareren en initialiseren

Als een programma moet werken met een aantal waarden van hetzelfde data type, kunt u een variabel voor elk nummer. Bijvoorbeeld een programma dat lotnummers weergeeft:

int lotteryNumber1 = 16;
int lotteryNumber2 = 32;
int lotteryNumber3 = 12;
int lotteryNumber4 = 23;
int lotteryNumber5 = 33;
int lotteryNumber6 = 20;

Een elegantere manier om te gaan met waarden die kunnen worden gegroepeerd, is door een array te gebruiken. Een array is een container met een vast aantal waarden van een gegevenstype. In het bovenstaande voorbeeld zouden de lotnummers kunnen worden gegroepeerd in een int-array:

int [] lotteryNumbers = {16,32,12,23,33,20}; 

Beschouw een array als een rij dozen. Het aantal vakjes in de array kan niet veranderen. Elk vak kan een waarde bevatten zolang het van hetzelfde gegevenstype is als de waarden in de andere vakjes. U kunt in een doos kijken om te zien welke waarde deze bevat of u kunt de inhoud van de doos vervangen door een andere waarde. Als we het hebben over arrays, worden de dozen elementen genoemd.

instagram viewer

Een array declareren en initialiseren

De declaratie-instructie voor een array is vergelijkbaar met die van vroeger verklaar elke andere variabele. Het bevat het gegevenstype gevolgd door de naam van de array - het enige verschil is de opname van vierkante haken naast het gegevenstype:

int [] intArray;
zweven [] floatArray; 
char [] charArray;

De verklaring verklaringen vertel de compiler dat

intArray
variabele is een array van
ints
,
floatArray
is een reeks van
drijft
en
charArray
is een reeks tekens. Zoals elke variabele kunnen ze niet worden gebruikt totdat deze is geïnitialiseerd door er een waarde aan toe te wijzen. Voor een array moet de toewijzing van een waarde aan een array de grootte van een array definiëren:
intArray = nieuwe int [10]; 

Het nummer tussen de haakjes geeft aan hoeveel elementen de array bevat. De bovenstaande toewijzingsinstructie maakt een int-array met tien elementen. Er is natuurlijk geen reden waarom de verklaring en toewijzing niet in één verklaring kunnen voorkomen:

float [] floatArray = nieuwe float [10]; 

Arrays zijn niet beperkt tot primitieve gegevenstypen. Er kunnen reeksen objecten worden gemaakt:

String [] names = new String [5]; 

Een array gebruiken

Zodra een array is geïnitialiseerd, kunnen aan de elementen waarden worden toegewezen met behulp van de matrixindex. De index definieert de positie van elk element in de array. Het eerste element staat op 0, het tweede element op 1 enzovoort. Het is belangrijk op te merken dat de index van het eerste element 0 is. Het is gemakkelijk om te denken dat omdat een array tien elementen heeft, de index 1 tot 10 is in plaats van 0 tot 9. Als we bijvoorbeeld teruggaan naar het voorbeeld van de lotnummers, kunnen we een array maken met 6 elementen en de lotnummers toewijzen aan de elementen:

int [] lotteryNumbers = nieuwe int [6];
lotteryNumbers [0] = 16;
lotteryNumbers [1] = 32;
lotteryNumbers [2] = 12;
lotteryNumbers [3] = 23;
lotteryNumbers [4] = 33;
lotteryNumbers [5] = 20;

Er is een snelkoppeling om elementen in een array te vullen door de waarden voor de elementen in de declaratieverklaring te plaatsen:

int [] lotteryNumbers = {16,32,12,23,33,20};
String [] names = {"John", "James", "Julian", "Jack", "Jonathon"};

De waarden voor elk element zijn tussen twee accolades geplaatst. De volgorde van de waarden bepaalt aan welk element de waarde wordt toegewezen beginnend met indexpositie 0. Het aantal elementen in de array wordt bepaald door het aantal waarden tussen accolades.

Om de waarde van een element te krijgen, wordt de index gebruikt:

System.out.println ("De waarde van het eerste element is" + lotteryNumbers [0]); 

Gebruik het lengteveld om erachter te komen hoeveel elementen een array heeft:

System.out.println ("De lotteryNumbers-array heeft" + lotteryNumbers.length + "elementen"); 

Notitie: Een veelgemaakte fout bij het gebruik van de lengtemethode is om te vergeten dat u de lengtewaarde als indexpositie gebruikt. Dit resulteert altijd in een fout omdat de indexposities van een array 0 tot lengte - 1 zijn.

Multidimensionale arrays

De arrays die we tot nu toe hebben bekeken, staan ​​bekend als eendimensionale (of enkeldimensionale) arrays. Dit betekent dat ze maar één rij elementen hebben. Arrays kunnen echter meer dan één dimensie hebben. Een multidimensionaal is eigenlijk een array die arrays bevat:

int [] [] lotteryNumbers = {{16,32,12,23,33,20}, {34,40,3,11,33,24}}; 

De index voor een multidimensionale array bestaat uit twee cijfers:

System.out.println ("De waarde van element 1,4 is" + lotteryNumbers [1] [4]); 

Hoewel de lengte van de arrays in een multidimensionale array niet dezelfde lengte hoeft te zijn:

String [] [] namen = nieuwe String [5] [7]; 

Een array kopiëren

Om een ​​array te kopiëren, is de eenvoudigste manier om de

arraycopie
methode van de klasse System. De
arraycopie
methode kan worden gebruikt om alle elementen van een array of een onderafdeling ervan te kopiëren. Er zijn vijf parameters doorgegeven aan de
 arraycopie
methode - de oorspronkelijke array, de indexpositie om te beginnen met het kopiëren van een element, de nieuwe array, de indexpositie om te beginnen met invoegen, het aantal te kopiëren elementen:
openbare statische lege arraycopie (Object src, int srcPos, Object dest, int destPos, int length)

Bijvoorbeeld om een ​​nieuwe array te maken die de laatste vier elementen van een bevat

int 
matrix:
int [] lotteryNumbers = {16,32,12,23,33,20};
int [] newArrayNumbers = nieuw int [4];
System.arraycopy (lotteryNumbers, 2, newArrayNumbers, 0, 4);

Aangezien arrays een vaste lengte hebben

arraycopie
methode kan een handige manier zijn om de grootte van een array te wijzigen.

Om uw kennis over arrays te vergroten, kunt u leren over het manipuleren van arrays met de arrays klasse en het maken van dynamische arrays (d.w.z. arrays wanneer het aantal elementen geen vast aantal is) de... gebruiken ArrayList-klasse.