20.7.20

Java - Višedimenzionalni nizovi

Besplatni Java kurs - 42. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Višedimenzionalni nizovi su nizovi nizova. Ukupan broj nizova određuje dimenzionalnost. Npr. ako postoji samo jedan niz unutar drugog, ukupno ih ima dva i cela struktura se zove dvodimenzionalni niz. Ako se unutar niza nalazi drugi niz u kome se nalazi treći - takav niz se zove trodimenzionalni itd.

Dvodimenzonalni nizovi

Dvodimenzonalni nizovi se deklarišu navođenjem tipa i identifikatora(naziva) i dva para uglastih zagrada [ ][ ]. Sledeći primer predstavlja dvodimenzionalni niz tipa int:

int niz_2d[][];

Drugi način deklarisanja dvodimenzionalnog niza je navođenjem uglastih zagrada pre naziva:

int [][] niz_2d;

Drugi način je pogodniji kada je potrebno deklarisati više od jednog niza istovremeno jer je dovoljno napisati samo jedan par uglastih zagrada:

byte niz_2dA[][], niz_2dB[][], niz_2dC[][];
byte [] niz_2dA, niz_2dB, niz_2dC;

Dodela memorije dvodimenzionalnim nizovima

U prethodnim primerima nizovi su samo deklarisani(proglašeni), ali još uvek nisu upotrebljivi dok im se ne dodeli memorija. Da bi se u memoriji rezervisao odgovarajući prostor za dati niz koristi se ključna reč new posle koje se navodi tip promenljivih i koliko mesta (koliko promenljivih tog tipa) će biti potrebno sačuvati u memoriji:

int niz_2d[][] = new int[3][4];

U prethodnom primeru deklarisan je dvodimenzionalni niz brojeva tipa int i zatim je pomoću ključne reči new dodeljeno mesto u memoriji za tri unutrašnja niza od po četiri broja tipa int.

Pristup članovima dvodimenzionalnih nizova

Pojedinačnim vrednostima dvodimenzionalnih niza se pristupa pomoću indeksa, slično kao i prilikom pristupa vrednostima jednodimenzionalnih nizova. Jedina razlika je što je pri radu sa dvodimenzionalnim nizovima neophodno koristiti dva indeksa jer je položaj svake od vrednosti određen obema dimenzijama. Ako se koristi samo jedan indeks zapravo se pristupa određenom unutrašnjem nizu a ne određenoj vrednosti nekog od unutrašnjih nizova.

Dvodimenzionalne nizove je najlakše zamisliti kao stranicu teksta. Prva dimenzija(levi par uglastih zagrada) predstavljao bi red, a druga dimenzija(desni par uglastih zagrada) bi predstavljao slova u redu. Da bi se pronašlo određeno slovo, potrebno je navesti redni broj reda i redni broj traženog slova u tom redu. Ako se navede samo jedan redni broj, to će podrazumevano biti smatrano brojem reda.

Primer ispisa vrednosti koja se nalazi na trećem mestu (mestu sa indeksom 2) u prvom podnizu (nizu sa indeksom 0):

System.out.println(niz_2d[0][2]);

Koristeći analogiju sa stranicama teksta prethodni primer bi značio prikazivanje trećeg slova u prvom redu teksta.

Dodela vrednosti članovima dvodimenzionalnih nizova

Primer dodele vrednosti članu dvodimenzionalnog niza sa indeksima [0][2]:

niz_2d[0][2] = 10;


Pročitaj i nastavak:

Besplatni Java kurs - 43. deo - Nizovi u petljama

No comments:

Post a Comment