Werken met arrays in Java
Een array initialiseren, vullen, openen en kopiëren in Java
vgajic/Getty Images
Als een programma moet werken met een aantal waarden van hetzelfdevariabelevoor elk nummer. Bijvoorbeeld een programma dat lotnummers weergeeft:
|_+_||_+_| |__+_| |__+_| |__+_| |__+_|Een elegantere manier om met waarden om te gaan die kunnen worden gegroepeerd, is door een array te gebruiken. Een array is een container die een vast aantal waarden van een gegevenstype bevat. In het bovenstaande voorbeeld kunnen de lotnummers worden gegroepeerd in een int-array:
|__+_|
Zie een array als een rij dozen. Het aantal vakken in de array kan niet veranderen. Elk vak kan een waarde bevatten zolang het van hetzelfde gegevenstype is als de waarden in de andere vakken. U kunt in een doos kijken om te zien welke waarde deze bevat of de inhoud van de doos vervangen door een andere waarde. Als we het over arrays hebben, worden de vakken elementen genoemd.
Een array declareren en initialiseren
De declaratie-instructie voor een array is vergelijkbaar met degene die wordt gebruikt om declareer een 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:
|_+_||_+_| |__+_|
De aangifteverklaringen hierboven vertel de compiler dat:
|_+_|variabele is een array van |_+_|, |_+_|is een array van |_+_|en |_+_|Het getal tussen de haakjes bepaalt hoeveel elementen de array bevat. De bovenstaande toewijzingsinstructie maakt een int-array met tien elementen. Natuurlijk is er geen reden waarom de verklaring en toewijzing niet in één verklaring kunnen plaatsvinden:
|__+_|Arrays zijn niet beperkt tot primitieve gegevenstypen. Er kunnen arrays van objecten worden gemaakt:
|__+_|Een array gebruiken
Nadat een array is geïnitialiseerd, kunnen aan de elementen waarden worden toegewezen met behulp van de index van de array. 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 van 1 tot 10 is in plaats van van 0 tot 9. Als we bijvoorbeeld teruggaan naar de loterij getallenvoorbeeld we kunnen een array maken met 6 elementen en de lotnummers toewijzen aan de elementen:
|__+_||_+_| |__+_| |__+_| |__+_| |__+_| |__+_|
Er is een snelkoppeling naar het invullen van elementen in een array door de waarden voor de elementen in de declaratieverklaring te plaatsen:
|_+_||_+_|De waarden voor elk element worden tussen een paar accolades geplaatst. De volgorde van de waarden bepaalt welk element de waarde krijgt, beginnend met indexpositie 0. Het aantal elementen in de array wordt bepaald door het aantal waarden tussen de accolades.
Om de waarde van een element te krijgen, wordt de index ervan gebruikt:
|__+_|Gebruik het veld length om te zien hoeveel elementen een array heeft:
|__+_|
Opmerking: Een veelgemaakte fout bij het gebruik van de lengtemethode is om te vergeten dat de lengtewaarde als indexpositie wordt gebruikt. Dit resulteert altijd in een fout omdat de indexposities van een array 0 tot lengte - 1 zijn.
Multidimensionale arrays
De arrays waar we tot nu toe naar hebben gekeken, staan bekend als eendimensionale (of enkeldimensionale) arrays. Dit betekent dat ze maar één rij elementen hebben. Matrices kunnen echter meer dan één dimensie hebben. Een multidimensionaal is eigenlijk een array die arrays bevat:
|__+_|
De index voor een multidimensionale array bestaat uit twee getallen:
|__+_|Hoewel de lengte van de arrays in een multidimensionale array niet dezelfde lengte hoeft te zijn:
|__+_|Een array kopiëren
Om een array te kopiëren is de gemakkelijkste manier om de . te gebruiken
|__+_|methode van de klasse System. De |_+_|methode kan worden gebruikt om alle elementen van een array of een subsectie ervan te kopiëren. Er zijn vijf parameters doorgegeven aan de |__+_|Als u bijvoorbeeld een nieuwe array wilt maken met de laatste vier elementen van een
|_+_||_+_| |__+_|Omdat arrays een vaste lengte hebben, is de
arraycopyOm je kennis over arrays te vergroten, kun je leren over het manipuleren van arrays met behulp van de klasse Arrays en het maken van dynamische arrays (d.w.z. arrays wanneer het aantal elementen geen vast aantal is) met behulp van de ArrayList-klasse .