U Javi, niz je najvažnija podatkovna struktura koja sadrži elemente istog tipa. Pohranjuje elemente u kontinuiranoj dodjeli memorije. Postoje dvije vrste nizova, tj. statički niz i dinamički niz. U ovom odjeljku ćemo se fokusirati samo na statički niz u Javi .
Statički niz
Niz koji je deklariran pomoću ključne riječi static poznat je kao statički niz. Dodjeljuje memoriju tijekom kompilacije čija je veličina fiksna. Ne možemo mijenjati statički niz.
Ako želimo da veličina niza bude određena na temelju unosa korisnika, tada ne možemo koristiti statične nizove. U tom slučaju, dinamički nizovi omogućuju nam da odredimo veličinu niza tijekom izvođenja.
pretvorba java niza u cijeli broj
Primjer statičkog niza
Na primjer, int arr[10] stvara niz veličine 10. To znači da možemo umetnuti samo 10 elemenata; ne možemo dodati 11. element jer je veličina niza fiksna.
int arr[] = { 1, 3, 4 }; // static integer array int* arr = new int[3]; // dynamic integer array
Prednosti statičkog niza
- Ima učinkovito vrijeme izvršenja.
- Životni vijek statičke dodjele je cijelo vrijeme izvođenja programa.
Nedostaci statičkog niza
- U slučaju da je deklarirano više prostora za statične podatke nego što je potrebno, dolazi do gubitka prostora.
- U slučaju da je deklarirano manje statičkog prostora nego što je potrebno, tada postaje nemoguće proširiti ovu fiksnu veličinu tijekom vremena izvođenja.
Deklariranje statičkog niza
Sintaksa za deklariranje statičkog niza je:
[]={,,.....};
Na primjer:
oštar kut
String[] suit = new String[] { 'Japan', 'India', 'Austria', 'Dubai' };
Također možemo deklarirati i inicijalizirati statički niz na sljedeći način:
String[] suit = { 'Japan', 'India', 'Austria', 'Dubai' };
Statički niz također se može deklarirati kao popis. Na primjer:
List suit = Arrays.asList( 'Japan', 'India', 'Austria', 'Dubai' );
Static Array Java program
StaticArrayExample.java
public class StaticArrayExample { private static String[] array; static { array = new String[2]; array[0] = 'Welcome to'; array[1] = 'Javatpoint'; } public static void main(String args[]) { for(int i = 0; i <array.length; i++) { system.out.print(array[i] + ' '); } < pre> <p> <strong>Output:</strong> </p> <pre> Welcome to Javatpoint </pre> <p>Let's see another Java program.</p> <p> <strong>StaticArrayExample.java</strong> </p> <pre> public class StaticArrayExample2 { //creates a static array of integer type static Integer[] integerArray; static { integerArray = new Integer[] { new Integer(1), new Integer(2), new Integer(3), new Integer(4), new Integer(5)}; } public static void main(String args[]) { //loop iterate over static array for (int i = 0; i <integerarray.length; i++) { prints array elements system.out.println(integerarray[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 1 2 3 4 5 </pre> <h2>Difference Between Static Array and Dynamic Array</h2> <p>The following table describes the key differences between static array and dynamic array.</p> <table class="table"> <tr> <th>Static Array</th> <th>Dynamic Array</th> </tr> <tr> <td>Static arrays are allocated memory at compile time.</td> <td>Dynamic array is located at run-time.</td> </tr> <tr> <td>The size of static array is fixed.</td> <td>The size of dynamic array is fixed. </td> </tr> <tr> <td>It is located in stack memory space.</td> <td>It is located in heap memory space.</td> </tr> <tr> <td>int array[10]; //array of size 10</td> <td>int* array = new int[10];</td> </tr> </table> <hr></integerarray.length;></pre></array.length;>
Pogledajmo još jedan Java program.
linux $home
StaticArrayExample.java
public class StaticArrayExample2 { //creates a static array of integer type static Integer[] integerArray; static { integerArray = new Integer[] { new Integer(1), new Integer(2), new Integer(3), new Integer(4), new Integer(5)}; } public static void main(String args[]) { //loop iterate over static array for (int i = 0; i <integerarray.length; i++) { prints array elements system.out.println(integerarray[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 1 2 3 4 5 </pre> <h2>Difference Between Static Array and Dynamic Array</h2> <p>The following table describes the key differences between static array and dynamic array.</p> <table class="table"> <tr> <th>Static Array</th> <th>Dynamic Array</th> </tr> <tr> <td>Static arrays are allocated memory at compile time.</td> <td>Dynamic array is located at run-time.</td> </tr> <tr> <td>The size of static array is fixed.</td> <td>The size of dynamic array is fixed. </td> </tr> <tr> <td>It is located in stack memory space.</td> <td>It is located in heap memory space.</td> </tr> <tr> <td>int array[10]; //array of size 10</td> <td>int* array = new int[10];</td> </tr> </table> <hr></integerarray.length;>
Razlika između statičkog niza i dinamičkog niza
Sljedeća tablica opisuje ključne razlike između statičkog polja i dinamičkog polja.
Statički niz | Dinamički niz |
---|---|
Statičkim nizovima se dodjeljuje memorija tijekom kompajliranja. | Dinamički niz nalazi se u vremenu izvođenja. |
Veličina statičkog niza je fiksna. | Veličina dinamičkog niza je fiksna. |
Nalazi se u memorijskom prostoru steka. | Nalazi se u heap memorijskom prostoru. |
int polje[10]; //niz veličine 10 | int* polje = novo int[10]; |