Ja programmai ir jāstrādā ar vairākām vienādām vērtībām datu tips, jūs varētu deklarēt a mainīgs par katru numuru. Piemēram, programma, kas parāda loterijas numurus:
int lotteryNumber1 = 16;
int lotteryNumber2 = 32;
int lotteryNumber3 = 12;
int lotteryNumber4 = 23;
int lotteryNumber5 = 33;int lotteryNumber6 = 20;
Elegantāks veids, kā rīkoties ar vērtībām, kuras var sagrupēt, ir masīva izmantošana. Masīvs ir konteiners, kurā ir fiksēts datu veida vērtību skaits. Iepriekš minētajā piemērā loterijas numurus varēja sagrupēt int masīvā:
int [] loterijas skaitļi = {16,32,12,23,33,20};
Domājiet par masīvu kā lodziņu rindu. Kastu skaits masīvā nevar mainīties. Katrā lodziņā var būt kāda vērtība, ja vien tam ir tāda paša datu veida vērtība kā citās lodziņos esošajām vērtībām. Varat ielūkoties lodziņā, lai redzētu, kādu vērtību tas satur, vai aizstāt lodziņa saturu ar citu vērtību. Ja runā par masīviem, rūtiņas sauc par elementiem.
Masīva deklarēšana un inicializēšana
Masīva deklarācijas paziņojums ir līdzīgs tam, ko izmantoja
deklarē jebkuru citu mainīgo. Tajā ir datu tips, kam seko masīva nosaukums - vienīgā atšķirība ir kvadrātiekavu iekļaušana blakus datu tipam:int [] intArray;
pludiņš [] floatArray;char [] charArray;
deklarācijas paziņojumi iepriekš sakiet kompilatoram, ka
intrarmainīgais ir masīvs
ints,
floatArrayir masīvs
peldun
charArrayir simbolu masīvs. Tāpat kā jebkuru mainīgo, tos nevar izmantot, kamēr tas nav inicializēts, piešķirot tam vērtību. Masīvam, piešķirot vērtību masīvam, jādefinē masīva lielums:
intArray = jauns int [10];
Skaitlis iekavās norāda, cik elementus satur masīvs. Iepriekš minētais piešķīruma paziņojums izveido int masīvu ar desmit elementiem. Protams, nav iemesla, kāpēc deklarēšana un piešķiršana nevar notikt vienā paziņojumā:
pludiņš [] floatArray = jauns pludiņš [10];
Masīvi nav tikai primitīvi datu tipi. Objektu masīvus var izveidot:
Virknes [] nosaukumi = jauna virkne [5];
Izmantojot masīvu
Kad masīvs ir inicializēts, elementiem var tikt piešķirtas vērtības, izmantojot masīva indeksu. Indekss nosaka katra elementa stāvokli masīvā. Pirmais elements ir 0, otrais elements pie 1 un tā tālāk. Ir svarīgi atzīmēt, ka pirmā elementa indekss ir 0. To ir viegli domāt, jo masīvā ir desmit elementi, tāpēc indekss ir no 1 līdz 10, nevis no 0 līdz 9. Piemēram, ja atgriezīsimies pie loterijas numuru piemēra, mēs varam izveidot masīvu, kurā ir 6 elementi, un piešķirt elementiem loterijas numurus:
int [] lotteryNumbers = jauns int [6];
loterijas skaitļi [0] = 16;
loterijasNumuri [1] = 32;
loterijas skaitļi [2] = 12;
loterijasNumuri [3] = 23;
loterijasNumuri [4] = 33;loterijasNumuri [5] = 20;
Elementu aizpildīšanai masīvā ir saīsne, deklarācijas paziņojumā ievietojot elementu vērtības:
int [] loterijas skaitļi = {16,32,12,23,33,20};Stīgu [] vārdi = {"John", "James", "Julian", "Jack", "Jonathon"};
Katra elementa vērtības tiek ievietotas lokveida iekavās. Vērtību secība nosaka, kuram elementam tiek piešķirta vērtība, sākot ar indeksa pozīciju 0. Elementu skaitu masīvā nosaka pēc vērtību skaita cirtainu iekavās.
Elementa vērtības iegūšanai tiek izmantots tā indekss:
System.out.println ("Pirmā elementa vērtība ir" + lotteryNumbers [0]);
Lai uzzinātu, cik elementiem masīvs ir izmantojis garuma lauku:
System.out.println ("Masīva lotteryNumbers ir" + lotteryNumbers.length + "elements");
Piezīme: Izplatīta kļūda, izmantojot garuma metodi, ir aizmirst, ka garuma vērtību izmanto kā indeksa pozīciju. Tas vienmēr radīs kļūdu, jo masīva indeksa pozīcijas ir no 0 līdz garumam - 1.
Daudzdimensiju masīvi
Masīvi, ko mēs līdz šim esam apskatījuši, ir zināmi kā viendimensionāli (vai viendimensiju) masīvi. Tas nozīmē, ka viņiem ir tikai viena elementu rinda. Tomēr masīviem var būt vairāk nekā viena dimensija. Daudzdimensiju faktiski ir masīvs, kurā ir masīvi:
int [] [] loterijas skaitļi = {{16,32,12,23,33,20}, {34,40,3,11,33,24}};
Daudzdimensiju masīva indekss sastāv no diviem skaitļiem:
System.out.println ("Elementa 1,4 vērtība ir" + lotteryNumbers [1] [4]);
Lai arī daudzdimensiju masīvā esošo masīvu garumam nav jābūt vienādam:
Stīgu [] [] nosaukumi = jauni stīgu [5] [7];
Masīva kopēšana
Masīva kopēšanai vienkāršākais veids ir izmantot
arraycopySistēmas klases metode.
arraycopymetodi var izmantot, lai kopētu visus masīva elementus vai to apakšiedaļas. Ir nodoti pieci parametri
arraycopymetode - sākotnējais masīvs, indeksa pozīcija, lai sāktu kopēšanu no elementa, jaunais masīvs, indeksa pozīcija, no kuras jāsāk ievietot, kopējamo elementu skaits:
publiska statiskā tukšuma arraycopy (Object src, int srcPos, Object dest, int destPos, int length)
Piemēram, lai izveidotu jaunu masīvu, kurā ir pēdējie četri elementa elementi
intmasīvs:
int [] loterijas skaitļi = {16,32,12,23,33,20};
int [] newArrayNumbers = jauns int [4];System.arraycopy (loterijas numuri, 2, newArrayNumbers, 0, 4);
Tā kā masīvi ir noteikta garuma,
arraycopymetode var būt noderīgs veids, kā mainīt masīva lielumu.
Lai papildinātu savas zināšanas par masīviem, varat uzzināt par manipulācijām ar masīviem, izmantojot masīvus klase un dinamisko masīvu izveidošana (t.i., masīvi, ja elementu skaits nav fiksēts skaitlis) izmantojot ArrayList klase.