logo

Matriz estática en Java

En Java, formación es la estructura de datos más importante que contiene elementos del mismo tipo. Almacena elementos en asignaciones de memoria contiguas. Hay dos tipos de matriz, es decir matriz estática y matriz dinámica. En esta sección nos centraremos únicamente en matriz estática en Java .

tutoriales de java

Matriz estática

Una matriz que se declara con la palabra clave estática se conoce como matriz estática. Asigna memoria en tiempo de compilación cuyo tamaño es fijo. No podemos alterar la matriz estática.

Si queremos que el tamaño de una matriz se base en la entrada del usuario, entonces no podemos usar matrices estáticas. En tal caso, las matrices dinámicas nos permiten especificar el tamaño de una matriz en tiempo de ejecución.

Ejemplo de matriz estática

Por ejemplo, int arr[10] crea una matriz de tamaño 10. Significa que solo podemos insertar 10 elementos; No podemos agregar un undécimo elemento ya que el tamaño de la matriz es fijo.

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

Ventajas de la matriz estática

  • Tiene un tiempo de ejecución eficiente.
  • La vida útil de la asignación estática es todo el tiempo de ejecución del programa.

Desventajas de la matriz estática

  • En caso de que se declare más espacio de datos estáticos del necesario, se desperdicia espacio.
  • En caso de que se declare menos espacio estático del necesario, resulta imposible expandir este tamaño fijo durante el tiempo de ejecución.

Declarar una matriz estática

La sintaxis para declarar una matriz estática es:

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

Por ejemplo:

listas de látex
 String[] suit = new String[] { 'Japan', 'India', 'Austria', 'Dubai' }; 

También podemos declarar e inicializar una matriz estática de la siguiente manera:

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

La matriz estática también se puede declarar como una Lista. Por ejemplo:

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

Programa Java de matriz estática

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

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

Diferencia entre matriz estática y matriz dinámica

La siguiente tabla describe las diferencias clave entre una matriz estática y una matriz dinámica.

matemáticas pow java
Matriz estática Matriz dinámica
A las matrices estáticas se les asigna memoria en el momento de la compilación. La matriz dinámica se encuentra en tiempo de ejecución.
El tamaño de la matriz estática es fijo. El tamaño de la matriz dinámica es fijo.
Está ubicado en el espacio de la memoria de la pila. Está ubicado en el espacio de memoria del montón.
matriz int[10]; //matriz de tamaño 10 int* matriz = nuevo int[10];