I Java, array är den viktigaste datastrukturen som innehåller element av samma typ. Den lagrar element i kontinuerlig minnesallokering. Det finns två typer av array, dvs. statisk array och dynamisk array. I det här avsnittet kommer vi bara att fokusera på statisk array i Java .
Statisk array
En array som deklareras med nyckelordet static kallas static array. Den allokerar minne vid kompilering vars storlek är fast. Vi kan inte ändra den statiska arrayen.
Om vi vill att en array ska dimensioneras baserat på input från användaren, kan vi inte använda statiska arrayer. I ett sådant fall tillåter dynamiska arrayer oss att specificera storleken på en array vid körning.
Static Array Exempel
Till exempel skapar int arr[10] en array med storlek 10. Det betyder att vi bara kan infoga 10 element; vi kan inte lägga till ett 11:e element eftersom storleken på Array är fast.
int arr[] = { 1, 3, 4 }; // static integer array int* arr = new int[3]; // dynamic integer array
Fördelar med Static Array
- Den har effektiv utförandetid.
- Livslängden för statisk allokering är hela programmets körtid.
Nackdelar med Static Array
- Om mer statiskt datautrymme deklareras än vad som behövs finns det slöseri med utrymme.
- Om mindre statiskt utrymme deklareras än vad som behövs, blir det omöjligt att utöka denna fasta storlek under körtiden.
Deklarera en statisk array
Syntaxen för att deklarera en statisk array är:
[]={,,.....};
Till exempel:
gzip för linux
String[] suit = new String[] { 'Japan', 'India', 'Austria', 'Dubai' };
Vi kan också deklarera och initiera statisk array enligt följande:
String[] suit = { 'Japan', 'India', 'Austria', 'Dubai' };
Statisk array kan också deklareras som en lista. Till exempel:
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;>
Låt oss se ett annat 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;>
Skillnaden mellan Static Array och Dynamic Array
Följande tabell beskriver de viktigaste skillnaderna mellan statisk array och dynamisk array.
java datum aktuellt
Statisk array | Dynamic Array |
---|---|
Statiska arrayer tilldelas minne vid kompilering. | Dynamic array finns vid körning. |
Storleken på statisk array är fast. | Storleken på dynamisk array är fast. |
Den finns i stackminnesutrymmet. | Den ligger i högminnesutrymmet. |
int array[10]; //uppsättning av storlek 10 | int* array = new int[10]; |