Nizovi u Java
Što je Java Nizovi?
Java Poredak je vrlo čest tip strukture podataka koji sadrži sve vrijednosti podataka istog tipa podataka. Podatkovne stavke u nizu nazivaju se elementi, a prvi element u nizu počinje s indeksom nula. Nizovi nasljeđuju klasu objekta i implementiraju sučelja koja se mogu serijalizirati i klonirati. Možemo pohraniti primitivne vrijednosti ili objekte u nizu.
Jednostavnim riječima, to je programska konstrukcija koja pomaže ovo zamijeniti
x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;
s ovim …
x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;
kako ovo pomaže je da varijabla može referencirati indeks (broj u zagradama []) za jednostavno petlje.
for(count=0; count<5; count++) { System.out.println(x[count]); }
Vrste polja u Java
Postoje dvije vrste niza.
- Jednodimenzionalni niz
- Višedimenzionalni niz
Niz varijabli
Korištenje niza u vašem programu je a Proces u 3 koraka -
1) Deklariranje vašeg niza
2) Izrada vašeg niza
3) Inicijalizirajte svoj niz
1) Deklariranje vašeg niza
Sintaksa
<elementType>[] <arrayName>;
ili
<elementType> <arrayName>[];
Primjer:
int intArray[]; // Defines that intArray is an ARRAY variable which will store integer values int []intArray;
2) Konstruiranje niza
arrayname = new dataType[]
Primjer:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Kombinacija deklaracije i konstrukcije
int intArray[] = new int[10];
3) Inicijalizirajte polje
intArray[0]=1; // Assigns an integer value 1 to the first element 0 of the array intArray[1]=2; // Assigns an integer value 2 to the second element 1 of the array
Deklaracija i inicijalizacija polja
[] = {};Primjer:
int intArray[] = {1, 2, 3, 4}; // Initilializes an integer array of length 4 where the first element is 1 , second element is 2 and so on.
Prvi niz programa
Korak 1) Kopirajte sljedeći kod u editor.
class ArrayDemo{ public static void main(String args[]){ int array[] = new int[7]; for (int count=0;count<7;count++){ array[count]=count+1; } for (int count=0;count<7;count++){ System.out.println("array["+count+"] = "+array[count]); } //System.out.println("Length of Array = "+array.length); // array[8] =10; } }
Korak 2) Spremite, kompajlirajte i pokrenite kod. Promatrajte izlaz
Očekivani rezultat:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Korak 3) Ako je x referenca na niz, x.duljina će vam dati duljinu niza.
Odkomentirajte redak #10. Spremite, prevedite i pokrenite kod. Promatrajte izlaz
Length of Array = 7
Korak 4) Za razliku od C, Java provjerava granicu niza dok pristupa elementu u njemu. Java neće dopustiti programeru da prekorači njegovu granicu.
Odkomentirajte redak #11. Spremite, prevedite i pokrenite kod. Promatrajte izlaz
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Korak 5) ArrayIndexOutOfBoundsException je bačen. U slučaju C, isti bi kod pokazao neku nepotrebnu vrijednost.
Java Niz: proslijedi po referenci
Nizovi se prosljeđuju funkcijama referencom ili kao pokazivač na
Izvorna. To znači sve što radite s nizom unutar
funkcija utječe na izvornik.
Primjer: Za razumijevanje polja se prosljeđuju referencom
Korak 1) Kopirajte sljedeći kod u editor
class ArrayDemo { public static void passByReference(String a[]){ a[0] = "Changed"; } public static void main(String args[]){ String []b={"Apple","Mango","Orange"}; System.out.println("Before Function Call "+b[0]); ArrayDemo.passByReference(b); System.out.println("After Function Call "+b[0]); } }
Korak 2) Spremite, prevedite i pokrenite kod. Promatrajte izlaz
Očekivani rezultat:
Before Function Call Apple After Function Call Changed
Višedimenzionalni nizovi
Višedimenzionalni nizovi zapravo su nizovi nizova.
Za deklaraciju višedimenzionalnog niza varijabla, navedite svaki dodatni indeks koristeći drugi skup uglatih zagrada.
Ex: int twoD[ ][ ] = new int[4][5] ;
Kada dodijelite memoriju višedimenzionalnom nizu, morate navesti memoriju samo za prvu (krajnju lijevu) dimenziju.
Preostale dimenzije možete dodijeliti zasebno.
In Java, duljina svakog niza u višedimenzionalnom nizu je pod vašom kontrolom.
Primjer
public class Guru99 { public static void main(String[] args) { // Create 2-dimensional array. int[][] twoD = new int[4][4]; // Assign three elements in it. twoD[0][0] = 1; twoD[1][1] = 2; twoD[3][2] = 3; System.out.print(twoD[0][0] + " "); } }
Očekivani rezultat:
1