logo

Static Array în Java

În Java, matrice este cea mai importantă structură de date care conține elemente de același tip. Stochează elemente în alocare de memorie contiguă. Există două tipuri de matrice, adică matrice statică și matrice dinamică. În această secțiune, ne vom concentra doar asupra matrice statică în Java .

Matrice statică

O matrice care este declarată cu cuvântul cheie static este cunoscută ca matrice statică. Acesta alocă memorie în timp de compilare a cărei dimensiune este fixă. Nu putem modifica matricea statică.

Dacă dorim ca o matrice să fie dimensionată pe baza intrării de la utilizator, atunci nu putem folosi matrice statice. Într-un astfel de caz, matricele dinamice ne permit să specificăm dimensiunea unei matrice în timpul execuției.

Exemplu de matrice statică

De exemplu, int arr[10] creează o matrice de dimensiunea 10. Înseamnă că putem insera doar 10 elemente; nu putem adăuga un al 11-lea element deoarece dimensiunea Array este fixă.

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

Avantajele matricei statice

  • Are timp de execuție eficient.
  • Durata de viață a alocării statice este întreaga durată de rulare a programului.

Dezavantajele matricei statice

  • În cazul în care este declarat mai mult spațiu de date static decât este necesar, există o risipă de spațiu.
  • În cazul în care este declarat mai puțin spațiu static decât este necesar, atunci devine imposibil să extindeți această dimensiune fixă ​​în timpul rulării.

Declararea unui tablou static

Sintaxa pentru declararea unui tablou static este:

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

De exemplu:

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

De asemenea, putem declara și inițializa matrice statică după cum urmează:

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

Matricea statică poate fi, de asemenea, declarată ca Listă. De exemplu:

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

Programul Java Static Array

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

Să vedem un alt program 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;>

Diferența dintre matrice statică și matrice dinamică

Următorul tabel descrie diferențele cheie dintre matricea statică și matricea dinamică.

Matrice statică Matrice dinamică
Matricele statice li se alocă memorie în timpul compilării. Matricea dinamică este localizată în timpul rulării.
Dimensiunea matricei statice este fixă. Dimensiunea matricei dinamice este fixă.
Este situat în spațiul de memorie al stivei. Este situat în spațiul de memorie heap.
int array[10]; //matrice de dimensiunea 10 int* array = new int[10];