logo

Matriu estàtica en Java

A Java, matriu és l'estructura de dades més important que conté elements del mateix tipus. Emmagatzema elements en assignació de memòria contigua. Hi ha dos tipus de matriu, és a dir. matriu estàtica i matriu dinàmic. En aquest apartat només ens centrarem matriu estàtica en Java .

Matriu estàtica

Una matriu que es declara amb la paraula clau estàtica es coneix com a matriu estàtica. Assigna memòria en temps de compilació la mida de la qual és fixa. No podem alterar la matriu estàtica.

f pel·lícules

Si volem que una matriu es mida en funció de l'entrada de l'usuari, no podem utilitzar matrius estàtiques. En aquest cas, les matrius dinàmiques ens permeten especificar la mida d'una matriu en temps d'execució.

Exemple de matriu estàtica

Per exemple, int arr[10] crea una matriu de mida 10. Vol dir que només podem inserir 10 elements; no podem afegir un 11è element ja que la mida de Array és fixa.

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

Avantatges de la matriu estàtica

  • Té un temps d'execució eficient.
  • El temps de vida de l'assignació estàtica és el temps d'execució complet del programa.

Desavantatges de la matriu estàtica

  • En cas que es declari més espai de dades estàtiques del necessari, hi ha una pèrdua d'espai.
  • En cas que es declari menys espai estàtic del necessari, serà impossible ampliar aquesta mida fixa durant el temps d'execució.

Declaració d'una matriu estàtica

La sintaxi per declarar una matriu estàtica és:

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

Per exemple:

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

També podem declarar i inicialitzar una matriu estàtica de la següent manera:

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

La matriu estàtica també es pot declarar com a llista. Per exemple:

cadena adjunta java
 List suit = Arrays.asList( 'Japan', 'India', 'Austria', 'Dubai' ); 

Programa Java de matriu estàtica

StaticArrayExample.java

model tcp i ip
 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;>

Vegem un altre programa Java.

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;>

Diferència entre la matriu estàtica i la matriu dinàmica

La taula següent descriu les diferències clau entre la matriu estàtica i la matriu dinàmica.

Matriu estàtica Matriu dinàmic
Les matrius estàtiques s'assignen memòria en temps de compilació. La matriu dinàmica es troba en temps d'execució.
La mida de la matriu estàtica és fixa. La mida de la matriu dinàmica és fixa.
Es troba a l'espai de memòria de la pila. Es troba a l'espai de memòria heap.
int matriu[10]; //matriu de mida 10 int* matriu = nou int[10];