logo

Statični niz v Javi

V Javi, niz je najpomembnejša podatkovna struktura, ki vsebuje elemente iste vrste. Shranjuje elemente v sosednjem pomnilniku. Obstajata dve vrsti matrike, tj. statični niz in dinamični niz. V tem razdelku se bomo osredotočili le na statično polje v Javi .

Statični niz

Niz, ki je deklariran s ključno besedo static, je znan kot statični niz. V času prevajanja dodeli pomnilnik, katerega velikost je fiksna. Ne moremo spremeniti statične matrike.

Če želimo, da se velikost polja določi glede na vnos uporabnika, ne moremo uporabiti statičnih nizov. V takem primeru nam dinamična polja omogočajo, da določimo velikost polja med izvajanjem.

Primer statične matrike

Na primer, int arr[10] ustvari matriko velikosti 10. To pomeni, da lahko vstavimo le 10 elementov; ne moremo dodati 11. elementa, ker je velikost matrike fiksna.

java niz cmp
 int arr[] = { 1, 3, 4 }; // static integer array int* arr = new int[3]; // dynamic integer array 

Prednosti statičnega polja

  • Ima učinkovit čas izvedbe.
  • Življenjska doba statične dodelitve je celoten čas izvajanja programa.

Slabosti statičnega polja

  • Če je prijavljeno več prostora za statične podatke, kot je potrebno, pride do izgube prostora.
  • Če je deklariranega manj statičnega prostora, kot je potrebno, postane nemogoče razširiti to fiksno velikost med časom izvajanja.

Deklaracija statične matrike

Sintaksa za deklaracijo statične matrike je:

 []={,,.....}; 

Na primer:

 String[] suit = new String[] { 'Japan', 'India', 'Austria', 'Dubai' }; 

Prav tako lahko deklariramo in inicializiramo statično matriko na naslednji način:

 String[] suit = { 'Japan', 'India', 'Austria', 'Dubai' }; 

Statično polje je mogoče deklarirati tudi kot seznam. Na primer:

kakšna je razlika med megabajtom in gigabajtom
 List suit = Arrays.asList( 'Japan', 'India', 'Austria', 'Dubai' ); 

Program Java za statično polje

StaticArrayExample.java

 public class StaticArrayExample { private static String[] array; static { array = new String[2]; array[0] = &apos;Welcome to&apos;; array[1] = &apos;Javatpoint&apos;; } 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&apos;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;>

Poglejmo še en program Java.

StaticArrayExample.java

kako pretvoriti niz v char
 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 med statično matriko in dinamično matriko

Naslednja tabela opisuje ključne razlike med statično in dinamično matriko.

Statični niz Dinamični niz
Statičnim poljem se pomnilnik dodeli med prevajanjem. Dinamično polje se nahaja v času izvajanja.
Velikost statične matrike je fiksna. Velikost dinamičnega niza je fiksna.
Nahaja se v pomnilniškem prostoru sklada. Nahaja se v pomnilniškem prostoru kopice.
int polje [10]; //matrika velikosti 10 int* polje = novo int[10];