logo

Statikus tömb Java nyelven

Java nyelven, sor a legfontosabb adatstruktúra, amely azonos típusú elemeket tartalmaz. Az elemeket összefüggő memóriafoglalásban tárolja. Kétféle tömb létezik, pl. statikus tömb és dinamikus tömb. Ebben a részben csak arra koncentrálunk statikus tömb Java nyelven .

Statikus tömb

A static kulcsszóval deklarált tömb statikus tömb néven ismert. Fordítási időben lefoglalja a memóriát, amelynek mérete rögzített. A statikus tömböt nem tudjuk megváltoztatni.

Ha azt szeretnénk, hogy egy tömb mérete a felhasználó bemenete alapján legyen, akkor nem használhatunk statikus tömböket. Ilyen esetben a dinamikus tömbök lehetővé teszik egy tömb méretének megadását futás közben.

Statikus tömb példa

Például az int arr[10] egy 10-es méretű tömböt hoz létre. Ez azt jelenti, hogy csak 10 elemet tudunk beszúrni; 11. elemet nem tudunk hozzáadni, mivel az Array mérete rögzített.

tölts le youtube videót vlc-vel
 int arr[] = { 1, 3, 4 }; // static integer array int* arr = new int[3]; // dynamic integer array 

A statikus tömb előnyei

  • Hatékony végrehajtási idővel rendelkezik.
  • A statikus allokáció élettartama a program teljes futási ideje.

A statikus tömb hátrányai

  • Ha a szükségesnél több statikus adatterületet deklarálunk, helypazarlásról van szó.
  • Abban az esetben, ha a szükségesnél kevesebb statikus területet deklarálunk, akkor lehetetlenné válik ennek a rögzített méretnek a bővítése futási idő alatt.

Statikus tömb deklarálása

A statikus tömb deklarálásának szintaxisa a következő:

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

Például:

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

A statikus tömböt a következőképpen deklarálhatjuk és inicializálhatjuk:

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

A statikus tömb Listaként is deklarálható. Például:

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

Statikus tömb Java program

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

Lássunk egy másik Java programot.

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

Különbség a statikus tömb és a dinamikus tömb között

Az alábbi táblázat leírja a statikus tömb és a dinamikus tömb közötti legfontosabb különbségeket.

Statikus tömb Dinamikus tömb
A statikus tömbök a fordítási időben vannak lefoglalva memóriával. A dinamikus tömb futási időben található.
A statikus tömb mérete rögzített. A dinamikus tömb mérete rögzített.
A verem memóriaterületén található. A kupac memóriaterületen található.
int array[10]; //10-es méretű tömb int* tömb = új int[10];