Kako delati z nizi: Izjava in inicializacija

Če mora program delovati s številnimi vrednostmi iste vrsta podatkov, lahko prijavite spremenljivka za vsako številko. Na primer program, ki prikazuje številke loterije:

int loterijaNumber1 = 16;
int loterijaNumber2 = 32;
int loterijaNumber3 = 12;
int loterijaNumber4 = 23;
int loterijaNumber5 = 33;
int loterijaNumber6 = 20;

Eleganten način ravnanja z vrednostmi, ki jih je mogoče združiti skupaj, je uporaba matrike. Polje je vsebnik, ki vsebuje fiksno število vrednosti podatkovne vrste. V zgornjem primeru bi lahko številke loterije združili v int niz:

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

Zamislite si niz kot vrstico. Število polj v matriki se ne more spremeniti. Vsako polje lahko vsebuje vrednost, če je iste vrste podatkov kot vrednosti, ki jih vsebujejo druga polja. Lahko pogledate v polje, da vidite, katero vrednost vsebuje ali pa vsebino polja zamenjate z drugo vrednostjo. Ko govorimo o nizih, se polja imenujejo elementi.

Izjava in inicializacija matrike

Izjava deklaracije za matriko je podobna tisti, ki je bila vajena

instagram viewer
razglasi katero koli drugo spremenljivko. Vsebuje vrsto podatkov, ki ji sledi ime matrike - edina razlika je vključitev kvadratnih oklepajev poleg vrste podatkov:

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

The deklaracijske izjave Zgoraj povejte prevajalcu to

intArray
spremenljivka je niz
ints
,
floatArray
je niz
plava
in
charArray
je niz znakov. Kot katero koli spremenljivko jih ni mogoče uporabiti, dokler se ne inicializira z dodelitvijo vrednosti. Za matriko mora dodelitev vrednosti matriki določiti velikost matrike:
intArray = nov int [10]; 

Število v oklepajih določa, koliko elementov ima matrika. Zgornja izjava o dodelitvi ustvari int matriko z desetimi elementi. Seveda ni razloga, da se deklaracija in dodelitev ne moreta zgoditi v eni izjavi:

float [] floatArray = nov plovec [10]; 

Niz ni omejen na primitivne vrste podatkov. Ustvari se lahko niz predmetov:

String [] imena = nov niz [5]; 

Uporaba matrike

Ko je matrika inicializirana, imajo lahko elementi dodeljene vrednosti z uporabo indeksa matrike. Indeks določa položaj vsakega elementa v matriki. Prvi element je pri 0, drugi element pri 1 in tako naprej. Pomembno je upoštevati, da je indeks prvega elementa 0. To je enostavno pomisliti, ker ima matrika deset elementov, da je indeks od 1 do 10 namesto od 0 do 9. Na primer, če se vrnemo na primer številk loterije, lahko izdelamo matriko, ki vsebuje 6 elementov, in elementom dodelimo številke loterije:

int [] lotteryNumbers = nov int [6];
lotteryNumbers [0] = 16;
številka loterije [1] = 32;
številka loterije [2] = 12;
številka loterije [3] = 23;
številka loterije [4] = 33;
številka loterije [5] = 20;

Obstaja bližnjica do izpolnjevanja elementov v matriki, tako da vrednosti elementov vnesete v izjavo izjave:

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

Vrednosti za vsak element so postavljene v par kodrastih oklepajev. Vrstni red vrednosti določa, kateremu elementu je dodeljena vrednost, ki se začne s položajem indeksa 0. Število elementov v matriki je določeno s številom vrednosti znotraj kodrastih oklepajev.

Za pridobitev vrednosti elementa se uporabi njegov indeks:

System.out.println ("Vrednost prvega elementa je" + lotteryNumbers [0]); 

Če želite izvedeti, koliko elementov ima matrika, uporabite polje dolžine:

System.out.println ("Niz številke lotteryNumbers ima" + lotteryNumbers.length + "elementi"); 

Opomba: Pogosta napaka pri uporabi metode dolžine je, da pozabimo, da vrednost dolžine uporabljamo kot položaj indeksa. To bo vedno povzročilo napako, saj so položaji indeksov matrike 0 do dolžine - 1.

Večdimenzionalni nizi

Nizi, ki smo jih doslej gledali, so znani kot enodimenzionalni (ali enodimenzionalni) nizi. To pomeni, da imajo le eno vrstico elementov. Vendar pa imajo lahko matriki več dimenzij. Večdimenzionalni je pravzaprav matrika, ki vsebuje matrike:

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

Indeks za večdimenzionalni niz je sestavljen iz dveh števil:

System.out.println ("Vrednost elementa 1,4 je" + lotteryNumbers [1] [4]); 

Čeprav dolžina nizov, ki jih vsebuje večdimenzionalni niz, ne sme biti enaka dolžini:

String [] [] imena = nov niz [5] [7]; 

Kopiranje matrike

Najlažji način kopiranja matrike je uporaba

arraykopija
metoda razreda System. The
arraykopija
za kopiranje vseh elementov matrike ali njihovih pododdelkov. V polje je posredovanih pet parametrov
 arraykopija
metoda - izvirna matrika, položaj indeksa za začetek kopiranja elementa, nov matrika, položaj indeksa, za začetek vstavljanja, število elementov za kopiranje:
javna statična aridkopija za ničnost (Object src, int srcPos, Objekt dest, int destPos, int length)

Na primer, da ustvarite nov niz, ki vsebuje zadnje štiri elemente

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

Kot nizi so fiksne dolžine

arraykopija
Metoda je lahko koristen način za spreminjanje velikosti matrike.

Če želite nadgraditi svoje znanje o nizih, se lahko naučite o manipulaciji z nizi s pomočjo Niz razreda in izdelavo dinamičnih nizov (tj. matrike, kadar število elementov ni fiksno število) uporabljati Razred ArrayList.