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
  • 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.
 Nedostaci Java niza
  • 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.
Tipovi nizova u Javi Postoje dva tipa niza.
  • Jednodimenzionalni niz
  • Višedimenzionalni niz
1 Jednodimenzionalni niz u Javi Sintaksa deklarisanja niza u Javi
1
2
3
dataType[] arr;  (ili) 
dataType []arr;  (ili) 
dataType arr[];
 Instancijacija niza u javi
1
arrayRefVar=new datatype[size];
Primer jednodimenzionalnog Java nizaPogledajmo jednostavan primer Java niza, gde ćemo deklarisati, instancirati, inicijalizovati i prolaziti kroz niz. 
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
Deklaracija, instancijacija i inicijalizacija java niza Možemo zajedno deklarisati, instancirati i inicijalizovati Java niz ovako:
1
int a[]={33,3,4,5}; //deklaracija, instancijacija i inicijalizacija
Pogledajmo jednostavan primjer koji ispisuje ovaj niz.
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
 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.
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
 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
1
2
3
4
dataType[][] arrayRefVar;  (ili) 
dataType [][]arrayRefVar;  (ili) 
dataType arrayRefVar[][];  (ili) 
dataType []arrayRefVar[];
Primer instanciranja višedimenzionalnog niza u Javi
1
int[][] arr=new int[3][3]; //3 reda i 3 kolone  <br>
Primer inicijalizovanja višedimenzionalnog niza u Javi
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;
Primer višedimenzionalnog Java niza Pogledajmo jednostavan primer deklarisanja, instanciranja, inicijalizovanja i ispisivanja dvodimenzionalnog niza.
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
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.
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
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
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
Sabiranje 2 matrice u javi Pogledajmo jednostavan primer sabiranja dve matrice.
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

Comments

comments