Kao što je poznato, niz (array) je kolekcija elemenata sličnog tipa koja ima kontinuiranu lokaciju u memoriji.
Java niz (array) je objekt koji sadrži elemente sličnog tipa podataka. To je struktura podataka gdje spremamo slične elemente. U java niz možemo spremiti samo fiksni skup elemenata.
Niz u javi je indeksno zasnovan, prvi element niza je spremljen na indeksu 0.
Prednosti Java niza
Nedostaci Java niza
Tipovi nizova u javi
Postoje dva tipa niza.
1 Jednodimenzionalni niz u Javi
Sintaksa deklarisanja niza u Javi
dataType[] arr; (ili) dataType []arr; (ili) dataType arr[];
Instancijacija niza u javi
arrayRefVar=new datatype[size];
Primjer jednodimenzionalnog Java niza
Pogledajmo jednostavan primjer Java niza, gdje ćemo deklarisati, instancirati, inicijalizovati i prolaziti kroz niz.
class Testarray{ public static void main(String args[]){ int a[]=new int[5]; //deklaracija i instancijacija a[0]=10; //inicijalizacija a[1]=20; a[2]=70; a[3]=40; a[4]=50; //ispisivanje niza for(int i=0; i < a.length;i++) //length (dužina) je osobina niza System.out.println(a[i]); } } Ispis na ekranu: 10 20 70 40 50
Deklaracija, instancijacija i inicijalizacija java niza
Možemo zajedno deklarisati, instancirati i inicijalizovati java niz ovako:
int a[]={33,3,4,5}; //deklaracija, instancijacija i inicijalizacija
Pogledajmo jednostavan primjer koji ispisuje ovaj niz.
class Testarray1{ public static void main(String args[]){ int a[]={33,3,4,5}; // deklaracija, instancijacija i inicijalizacija // ispisivanje niza for(int i=0; i < a.length;i++) // length (dužina) je osobina niza System.out.println(a[i]); } } Ispis na ekranu: 33 3 4 5
Prosljeđivanje niza metodu u javi
Možemo proslijediti java niz metodu tako da možemo ponovo upotrijebiti istu logiku na bilo koji niz.
Pogledajmo jednostavan primjer nalaženja najmanjeg broja u nizu pomoću metoda.
class Testarray2{ static void min(int arr[]){ int min=arr[0]; for(int i=1; i < arr.length;i++) if(min>arr[i]) min=arr[i]; System.out.println(min); } public static void main(String args[]){ int a[]={33,3,4,5}; min(a); //prosljeđivanje niza metodu } } Ispis na ekranu: 3
2 Višedimenzionalni niz u javi
U ovom slučaju, podaci su pohranjeni po indeksu na osnovu reda i kolone (takođe poznato kao matrična forma).
Sintaksa deklarisanja višedimenzionalnog niza u javi
dataType[][] arrayRefVar; (ili) dataType [][]arrayRefVar; (ili) dataType arrayRefVar[][]; (ili) dataType []arrayRefVar[];
Primjer instanciranja višedimenzionalnog niza u javi
int[][] arr=new int[3][3]; //3 reda i 3 kolone
Primjer inicijalizovanja višedimenzionalnog niza u javi
arr[0][0]=1; arr[0][1]=2; arr[0][2]=3; arr[1][0]=4; arr[1][1]=5; arr[1][2]=6; arr[2][0]=7; arr[1][2]=8; arr[2][0]=9;
Primjer višedimenzionalnog java niza
Pogledajmo jednostavan primjer deklarisanja, instanciranja, inicijalizovanja i ispisivanja dvodimenzionalnog niza.
class Testarray3{ public static void main(String args[]){ //deklarisanje i inicijalizovanje 2D niza int arr[][]={{1,2,3},{2,4,5},{4,4,5}}; //ispisivanje 2D niza for(int i=0; i < 3; i++){ for(int j=0; j < 3; j++){ System.out.print(arr[i][j]+" "); } System.out.println(); } } } Ispis na ekranu: 1 2 3 2 4 5 4 4 5
Koje je ime klase java niza?
U javi, niz (array) je objekt. Za array objekt, kreirana je proxy klasa čije se ime može dobiti pomoću getClass().getName() metoda na objekt.
class Testarray4{ public static void main(String args[]){ int arr[]={4,4,5}; Class c=arr.getClass(); String name=c.getName(); System.out.println(name); } } Ispis na ekranu: I
Kopiranje java niza
Možemo kopirati jedan niz u drugi pomoću metoda arraycopy klase System.
Sintaksa arraycopy metoda
public static void arraycopy(
Object src, int srcPos,Object dest, int destPos, int length
)
Primjer arraycopy metoda
class TestArrayCopyDemo { public static void main(String[] args) { char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[7]; System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo)); } } Ispis na ekranu: caffein
Sabiranje 2 matrice u javi
Pogledajmo jednostavan primjer sabiranja dve matrice.
class Testarray5{ public static void main(String args[]){ //kreiranje dve matrice int a[][]={{1,3,4},{3,4,5}}; int b[][]={{1,3,4},{3,4,5}}; //kreiranje druge matrice u koju se sprema suma dve matrice int c[][]=new int[2][3]; //sabiranje i ispis zbira 2 matrice for(int i=0; i < 2;i++){ for(int j=0; j < 3;j++){ c[i][j]=a[i][j]+b[i][j]; System.out.print(c[i][j]+" "); } System.out.println(); //novi red } } } Ispis na ekranu: 2 6 8 6 8 10
Zadaci iz ovog poglavlja Objektno orijentisano programiranje u Javi Index