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] = '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;>
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]; |