Kui programm peab töötama paljude samade väärtustega andmetüüp, võiksite kuulutada a muutuja iga numbri kohta. Näiteks programm, mis kuvab loteriinumbreid:
int lotteryNumber1 = 16;
int lotteryNumber2 = 32;
int lotteryNumber3 = 12;
int lotteryNumber4 = 23;
int lotteryNumber5 = 33;int lotteryNumber6 = 20;
Elegantsem viis grupeeritavate väärtustega tegelemiseks on massiivi kasutamine. Massiiv on konteiner, mis sisaldab fikseeritud arvu andmetüübi väärtusi. Ülaltoodud näites võiks loteriinumbrid rühmitada int-massiivi:
int [] loterianumbrid = {16,32,12,23,33,20};
Mõelge massiivile kui kastireale. Massiivis olevate kastide arvu ei saa muuta. Igas kastis võib olla väärtus, kui see on sama andmetüübiga, nagu teistes kastides sisalduvad väärtused. Võite vaadata kasti sisemust, et näha, millist väärtust see sisaldab, või asendada kasti sisu mõne muu väärtusega. Massiividest rääkides nimetatakse kaste elementideks.
Massiivi kuulutamine ja lähtestamine
Massiivi deklaratsiooniavaldus sarnaneb harjumuspärasega
kuulutage muud muutujad. See sisaldab andmetüüpi, millele järgneb massiivi nimi - ainus erinevus on andmetüübi kõrvale nurksulgude lisamine:int [] intArray;
float [] floatArray;char [] charArray;
deklaratsiooni avaldused ülal öelge kompilaatorile, et
sisemine arraymuutuja on massiiv
ints,
floatArrayon massiiv
hõljubja
charArrayon tähemärkide massiiv. Nagu iga muutuja, ei saa neid kasutada enne, kui see on väärtuse määramise ajal lähtestatud. Massiivi jaoks väärtuse omistamine massiivile peab määrama massiivi suuruse:
intArray = uus int [10];
Sulgudes olev arv määratleb, mitu elementi massiivi mahub. Ülaltoodud määramislause loob int-massiivi, milles on kümme elementi. Muidugi pole põhjust, miks deklaratsioon ja loovutamine ei saa toimuda ühes avalduses:
float [] floatArray = uus ujuk [10];
Massiivid pole piiratud primitiivsete andmetüüpidega. Objektide massiive saab luua:
Stringi [] nimed = uus string [5];
Massiivi kasutamine
Kui massiivi on initsialiseeritud, saab elementidele väärtused neile määrata, kasutades massiivi indeksit. Indeks määratleb iga elemendi positsiooni massiivis. Esimene element on 0 juures, teine element 1 ja nii edasi. Oluline on märkida, et esimese elemendi indeks on 0. Seda on lihtne mõelda, kuna massiivis on kümme elementi, mille indeks on 1 kuni 10, mitte 0 kuni 9. Näiteks kui läheme tagasi loteriinumbrite näite juurde, saame luua massiivi, mis sisaldab 6 elementi, ja määrata elementidele loterianumbrid:
int [] lotteryNumbers = uus int [6];
loteriiNumbrid [0] = 16;
loteriiNumbrid [1] = 32;
loteriiNumbrid [2] = 12;
loteriiNumbrid [3] = 23;
loteriiNumbrid [4] = 33;loteriiNumbrid [5] = 20;
Massiivi elementide täitmisel on otsetee, pannes deklaratsiooni avaldusele elementide väärtused:
int [] loterianumbrid = {16,32,12,23,33,20};Keel [] nimed = {"John", "James", "Julian", "Jack", "Jonathon"};
Iga elemendi väärtused asetatakse lokkisulgude paari sisse. Väärtuste järjekord määrab, millisele elemendile omistatakse väärtus, alustades indeksi positsioonist 0. Elementide arv massiivis määratakse väärtuste arvu abil lokkisulgudes.
Elemendi väärtuse saamiseks kasutatakse selle indeksit:
System.out.println ("Esimese elemendi väärtus on" + lotteryNumbers [0]);
Kui soovite teada, mitu elementi massiivil on pikkuseväli:
System.out.println ("Massiivis lotteryNumbers on" + lotteryNumbers.length + "elements");
Märge: Pikkuse meetodi kasutamisel on tavaline viga unustada, kui kasutada pikkuse väärtust indekspositsioonina. Selle tulemuseks on alati tõrge, kuna massiivi indeksi positsioonid on vahemikus 0 kuni 1.
Mitmemõõtmelised massiivid
Massiive, mida me seni vaatasime, tuntakse kui ühemõõtmelisi (või ühemõõtmelisi) massiive. See tähendab, et neil on ainult üks rida elemente. Kuid massiividel võib olla rohkem kui üks mõõde. Mitmemõõtmeline on tegelikult massiiv, mis sisaldab massiive:
int [] [] loteriiNumbrid = {{16,32,12,23,33,20}, {34,40,3,11,33,24}};
Mitmemõõtmelise massiivi indeks koosneb kahest numbrist:
System.out.println ("Elemendi 1,4 väärtus on" + lotteryNumbers [1] [4]);
Ehkki mitmemõõtmelises massiivis sisalduvate massiivide pikkus ei pea olema sama pikkus:
Stringi [] [] nimed = uus string [5] [7];
Massiivi kopeerimine
Massiivi kopeerimiseks on lihtsaim viis kasutada
arraycopysüsteemiklassi meetod.
arraycopymeetodit saab kasutada massiivi kõigi elementide või nende alajaotuste kopeerimiseks. Süsteemile on antud viis parameetrit
arraycopymeetod - algne massiiv, indeksi positsioon elemendi kopeerimise alustamiseks, uus massiiv, indeksi positsioon, millest alustada sisestamist, kopeeritavate elementide arv:
avaliku staatilise tühise arraycopy (Object src, int srcPos, Object dest, int destPos, int pikkus)
Näiteks uue massiivi loomiseks, mis sisaldab anaili viimast nelja elementi
intmassiiv:
int [] loterianumbrid = {16,32,12,23,33,20};
int [] newArrayNumbers = uus int [4];System.arraycopy (loteriiNumbrid, 2, newArrayNumbers, 0, 4);
Kuna massiivid on fikseeritud pikkusega, on
arraycopymeetod võib olla kasulik viis massiivi suuruse muutmiseks.
Massiivi käsitlevate teadmiste täiendamiseks saate õppida massiividega massiividega manipuleerimise kohta klass ja dünaamiliste massiivide tegemine (st massiivid, kui elementide arv ei ole fikseeritud arv) kasutades ArrayList klass.