logo

Static Array i Java

I Java, array er den viktigste datastrukturen som inneholder elementer av samme type. Den lagrer elementer i sammenhengende minneallokering. Det er to typer array, dvs. statisk array og dynamisk array. I denne delen vil vi kun fokusere på statisk array i Java .

Statisk array

En matrise som er deklarert med det statiske nøkkelordet er kjent som statisk matrise. Den tildeler minne ved kompilering, hvis størrelse er fast. Vi kan ikke endre den statiske matrisen.

Hvis vi ønsker at en array skal dimensjoneres basert på input fra brukeren, kan vi ikke bruke statiske arrays. I et slikt tilfelle lar dynamiske matriser oss spesifisere størrelsen på en matrise under kjøring.

Static Array Eksempel

For eksempel, int arr[10] lager en matrise med størrelse 10. Det betyr at vi bare kan sette inn 10 elementer; vi kan ikke legge til et 11. element da størrelsen på Array er fast.

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

Fordeler med Static Array

  • Den har effektiv gjennomføringstid.
  • Levetiden for statisk tildeling er hele programmets kjøretid.

Ulemper med Static Array

  • I tilfelle det deklareres mer statisk dataplass enn nødvendig, er det sløsing med plass.
  • I tilfelle mindre statisk plass er deklarert enn nødvendig, blir det umulig å utvide denne faste størrelsen i løpet av kjøretiden.

Erklære en statisk matrise

Syntaksen for å erklære en statisk matrise er:

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

For eksempel:

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

Vi kan også deklarere og initialisere statisk array som følger:

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

Statisk matrise kan også erklæres som en liste. For eksempel:

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

La oss se et annet 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;>

Forskjellen mellom Static Array og Dynamic Array

Tabellen nedenfor beskriver de viktigste forskjellene mellom statisk array og dynamisk array.

Statisk array Dynamic Array
Statiske arrays tildeles minne på kompileringstidspunktet. Dynamic array er lokalisert under kjøring.
Størrelsen på statisk array er fast. Størrelsen på dynamisk array er fast.
Den er plassert i stabelminnet. Den er plassert i haugminneplass.
int array[10]; //array av størrelse 10 int* array = new int[10];