Kā strādāt ar masīviem: deklarēšana un inicializēšana

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

instagram viewer
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

intrar
mainīgais ir masīvs
ints
,
floatArray
ir masīvs
peld
un
charArray
ir 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

arraycopy
Sistēmas klases metode.
arraycopy
metodi var izmantot, lai kopētu visus masīva elementus vai to apakšiedaļas. Ir nodoti pieci parametri
 arraycopy
metode - 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

int 
masī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,

arraycopy
metode 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.

instagram story viewer