Java programoje masyvas yra svarbiausia duomenų struktūra, kurioje yra to paties tipo elementų. Jis saugo elementus gretimoje atminties paskirstyme. Yra du masyvo tipai t.y. statinis masyvas ir dinaminis masyvas. Šiame skyriuje mes sutelksime dėmesį tik į statinis masyvas Java .
Statinis masyvas
Masyvas, kuris deklaruojamas naudojant statinį raktinį žodį, yra žinomas kaip statinis masyvas. Kompiliavimo metu ji paskirsto atmintį, kurios dydis yra fiksuotas. Negalime pakeisti statinio masyvo.
Jei norime, kad masyvo dydis būtų pagrįstas vartotojo įvestimi, negalime naudoti statinių masyvų. Tokiu atveju dinaminiai masyvai leidžia nurodyti masyvo dydį vykdymo metu.
Statinio masyvo pavyzdys
Pavyzdžiui, int arr[10] sukuria 10 dydžio masyvą. Tai reiškia, kad galime įterpti tik 10 elementų; negalime pridėti 11-ojo elemento, nes masyvo dydis yra fiksuotas.
int arr[] = { 1, 3, 4 }; // static integer array int* arr = new int[3]; // dynamic integer array
Statinio masyvo privalumai
- Jis turi efektyvų vykdymo laiką.
- Statinio paskirstymo trukmė yra visas programos vykdymo laikas.
Statinio masyvo trūkumai
- Jei deklaruojama daugiau statinės duomenų vietos, nei reikia, yra vietos švaistymas.
- Jei deklaruojama mažiau statinės erdvės nei reikia, šio fiksuoto dydžio išplėsti vykdymo metu tampa neįmanoma.
Statinio masyvo deklaravimas
Statinio masyvo deklaravimo sintaksė yra tokia:
[]={,,.....};
Pavyzdžiui:
t šlepetės
String[] suit = new String[] { 'Japan', 'India', 'Austria', 'Dubai' };
Taip pat galime deklaruoti ir inicijuoti statinį masyvą taip:
String[] suit = { 'Japan', 'India', 'Austria', 'Dubai' };
Statinis masyvas taip pat gali būti paskelbtas kaip sąrašas. Pavyzdžiui:
List suit = Arrays.asList( 'Japan', 'India', 'Austria', 'Dubai' );
„Static Array Java“ programa
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;>
Pažiūrėkime kitą Java programą.
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;>
Skirtumas tarp statinio masyvo ir dinaminio masyvo
Šioje lentelėje aprašomi pagrindiniai statinio ir dinaminio masyvo skirtumai.
mergesort java
Statinis masyvas | Dinaminis masyvas |
---|---|
Statiniams masyvams paskirstoma atmintis kompiliavimo metu. | Dinaminis masyvas yra vykdymo metu. |
Statinio masyvo dydis yra fiksuotas. | Dinaminio masyvo dydis yra fiksuotas. |
Jis yra kamino atminties erdvėje. | Jis yra krūvos atminties erdvėje. |
int masyvas[10]; //10 dydžio masyvas | int* masyvas = naujas int[10]; |