logo

Matriz estática em Java

Em Java, variedade é a estrutura de dados mais importante que contém elementos do mesmo tipo. Ele armazena elementos em alocação de memória contígua. Existem dois tipos de array, ou seja, matriz estática e matriz dinâmica. Nesta seção, focaremos apenas matriz estática em Java .

Matriz estática

Um array declarado com a palavra-chave static é conhecido como array estático. Ele aloca memória em tempo de compilação cujo tamanho é fixo. Não podemos alterar o array estático.

Se quisermos que um array seja dimensionado com base na entrada do usuário, não podemos usar arrays estáticos. Nesse caso, os arrays dinâmicos nos permitem especificar o tamanho de um array em tempo de execução.

loop for em java

Exemplo de matriz estática

Por exemplo, int arr[10] cria um array de tamanho 10. Isso significa que podemos inserir apenas 10 elementos; não podemos adicionar um 11º elemento porque o tamanho do Array é fixo.

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

Vantagens da matriz estática

  • Possui tempo de execução eficiente.
  • O tempo de vida da alocação estática é todo o tempo de execução do programa.

Desvantagens da matriz estática

  • Caso seja declarado mais espaço para dados estáticos do que o necessário, haverá desperdício de espaço.
  • Caso seja declarado menos espaço estático do que o necessário, torna-se impossível expandir esse tamanho fixo durante o tempo de execução.

Declarando um array estático

A sintaxe para declarar um array estático é:

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

Por exemplo:

contém método java
 String[] suit = new String[] { 'Japan', 'India', 'Austria', 'Dubai' }; 

Também podemos declarar e inicializar um array estático da seguinte forma:

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

A matriz estática também pode ser declarada como uma lista. Por exemplo:

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

Vamos ver outro programa Java.

np.único

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

Diferença entre matriz estática e matriz dinâmica

A tabela a seguir descreve as principais diferenças entre matriz estática e matriz dinâmica.

Matriz estática Matriz Dinâmica
Matrizes estáticas recebem memória em tempo de compilação. A matriz dinâmica está localizada em tempo de execução.
O tamanho da matriz estática é fixo. O tamanho da matriz dinâmica é fixo.
Ele está localizado no espaço de memória da pilha. Ele está localizado no espaço de memória heap.
matriz interna[10]; //matriz de tamanho 10 int* matriz = novo int[10];