Java niz (Array)
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 gde 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
Instancijacija niza u javi
Primer jednodimenzionalnog Java niza
Pogledajmo jednostavan primer Java niza, gde ćemo deklarisati, instancirati, inicijalizovati i prolaziti kroz niz.
Deklaracija, instancijacija i inicijalizacija java niza
Možemo zajedno deklarisati, instancirati i inicijalizovati Java niz ovako:
Pogledajmo jednostavan primjer koji ispisuje ovaj niz.
Prosleđivanje niza metodu u Javi
Možemo proslediti 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.
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
Primer instanciranja višedimenzionalnog niza u Javi
Primer inicijalizovanja višedimenzionalnog niza u Javi
Primer višedimenzionalnog Java niza
Pogledajmo jednostavan primer deklarisanja, instanciranja, inicijalizovanja i ispisivanja dvodimenzionalnog niza.
Koje je ime klase Java niza?
U Javi, niz (array) je objekat. Za array objekt, kreirana je proxy klasa čije se ime može dobiti pomoću getClass().getName() metoda na objekat.
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
)
Primer arraycopy metoda
Sabiranje 2 matrice u javi
Pogledajmo jednostavan primer sabiranja dve matrice.

- Optimizacija koda: čini kod optimizovanim, možemo lako pristupiti podacima ili ih sortirati.
- Slučajni pristup: Možemo dobiti bilo koji podatak lociran na bilo kojoj indeksnoj poziciji.
- Ograničena veličina: U niz možemo spremiti samo fiksnu količinu elemenata. Njegova veličina ne raste u vremenu izvršavanja. Da bi se rešio ovaj problem, u Javi se koristi tzv. collection framework.
- Jednodimenzionalni niz
- Višedimenzionalni niz
1
2
3 |
dataType[] arr; (ili) dataType []arr; (ili) dataType arr[]; |
1 |
arrayRefVar= new datatype[size]; |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 |
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 |
1 |
int a[]={ 33 , 3 , 4 , 5 }; //deklaracija, instancijacija i inicijalizacija |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
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 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 |
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 |
1
2
3
4 |
dataType[][] arrayRefVar; (ili) dataType [][]arrayRefVar; (ili) dataType arrayRefVar[][]; (ili) dataType []arrayRefVar[]; |
1 |
int [][] arr= new int [ 3 ][ 3 ]; //3 reda i 3 kolone <br> |
1
2
3
4
5
6
7
8
9 |
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 ; |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
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 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
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 |
1
2
3
4
5
6
7
8
9
10
11
12
13 |
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 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 |
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 |