Java - Nizovi


U programiranju, niz je zbirka sličnih vrsta podataka. Na primjer, ako želimo pohraniti imena 100 ljudi, možemo stvoriti niz koji može pohraniti 100 imena.

String[] array = new String[100];

Broj vrijednosti u Java nizu je fiksan. Odnosno, gornji niz ne može pohraniti više od 100 elemenata.



Kako deklarisati niz u Javi?

U Javi možemo deklarisati niz na sljedeći način.

dataType[] arrayName;
  • dataType - to mogu biti primitivni tipovi podataka poput int, char, double, byte itd. ili java objekti.
  • arrayName - to je identifikator

Na primjer:

double[] data;

Ovdje su podaci niz koji može da sadrži vrijednosti tipa double. Ali, koliko elemenata može da sadrži niz? Dobro pitanje! Da bismo definisali broj elemenata koje niz može da sadrži, moramo dodijeliti memoriju za niz u Javi. Na primjer:

// deklarisanje niza
double[] data;

// alokacija memorije
data = new Double[10];

Ovdje niz može pohraniti 10 elemenata. Takođe možemo reći da je veličina ili dužina niza 10. U Javi možemo deklarisati i dodijeliti memoriju niza u jednoj jedinoj naredbi. Na primjer:

double[] data = new double[10];


Kako inicijalizovati nizove u Javi?

U Javi možemo inicijalizovati nizove tokom deklaracije. Na primjer:

//deklarisanje i inicjalizacija niza
int[] age = {12, 4, 5, 2, 5};

Ovdje smo kreirali niz imena age i inicijalizirali ga vrijednostima unutar vitičastih zagrada. Imajte na umu da nismo naveli veličinu niza. U ovom slučaju, Java kompajler automatski određuje veličinu, brojeći broj elemenata u polju (tj. 5).

U Java nizu, svaka memorijska lokacija povezana je s brojem. Broj je poznat kao indeks niza. Takođe možemo inicijalizovati nizove u Javi, koristeći indeksni broj. Na primjer:

// deklarisanje niza
int[] age = new int[5];

// inicijalizacija niza
age[0] = 12;
age[1] = 4;
age[2] = 5;
..


Kako pristupiti elementima niza u Javi?

Elementu niza možemo pristupiti pomoću indeksnog broja. Evo sintakse za pristup elementima niza:

// pristup elementu niza
array[index]

Pogledajmo primjer pristupanja elementima niza pomoću indeksnih brojeva.


Primjer: Pristup elementima niza

class Main {
 public static void main(String[] args) {
  
   // kreiranje niza
   int[] age = {12, 4, 5, 2, 5};

   // pristup svakom elementu niza
   System.out.println("Pristup elementima niza:");
   System.out.println("Prvi element: " + age[0]);
   System.out.println("Drugi element: " + age[1]);
   System.out.println("Treći element:" + age[2]);
   System.out.println("Četvrti element:" + age[3]);
   System.out.println("Peti element: " + age[4]);
 }
}

U gornjem primjeru, primijetite da koristimo indeksni broj za pristup svakom elementu niza. Možemo koristiti petlje za pristup svim elementima niza odjednom.



Pregledavanje elemenata niza pomoću petlje

U Javi takođe možemo koristiti petlje da bi prošli kroz svaki element niza. Na primjer:


Primjer: Korištenje for petlje

class Main {
 public static void main(String[] args) {
  
   // kreiranje niza
   int[] age = {12, 4, 5};

   // petlja koja prolazi kroz niz
   // korištenje for petlje
   System.out.println("Korištenje for petlje:");
   for(int i = 0; i < age.length; i++) {
     System.out.println(age[i]);
   }
 }
}

U gornjem primjeru koristimo for petlju za iteriranje kroz svaki element niza. Primijetite izraz unutar petlje:

age.length

Ovdje koristimo svojstvo length niza da bismo dobili veličinu niza. Takođe možemo koristiti for-each petlju za svaku iteraciju kroz elemente niza. Na primjer:


Primjer: Upotreba for-each petlje

class Main {
 public static void main(String[] args) {
  
   // kreiranje niza
   int[] age = {12, 4, 5};

   // petlja koja prolazi kroz niz
   // korištenje for-each petlje
   System.out.println("Korištenje for-each petlje:");
   for(int a : age) {
     System.out.println(a);
   }
 }
}


Primjer: Izračunavanje zbira i prosjeka elemenata niza

class Main {
 public static void main(String[] args) {

   int[] numbers = {2, -9, 0, 5, 12, -25, 22, 9, 8, 12};
   int sum = 0;
   Double average;
   
   // pristupite svim elementima uz pomoć for petlje
   // dodaj svaki lement u sumu brojeva
   for (int number: numbers) {
     sum += number;
   }
  
   // dobijanje ukupnog broja elemenata
   int arrayLength = numbers.length;

   // izračunavanje prosjeka
   // pretvori prosjek iz int u double
   average =  ((double)sum / (double)arrayLength);

   System.out.println("Sum je = " + sum);
   System.out.println("Prosjek je = " + average);
 }
}

U gornjem primjeru stvorili smo niz imenovanih brojeva. Koristili smo for... each petlju za pristup svakom elementu niza. Unutar petlje izračunavamo zbir svakog elementa. Primijetite liniju koda:

int arrayLength = number.length;

Ovdje koristimo atribut length za izračunavanje veličine niza. Zatim izračunavamo prosjek koristeći:

average = ((double)sum / (double)arrayLength);

Kao što vidite, pretvaramo int vrijednost u double. To se u Javi naziva Type Casting.