logo

Статичний масив в Java

У Java, масив це найважливіша структура даних, яка містить елементи одного типу. Він зберігає елементи в безперервному розподілі пам'яті. Існує два типи масиву, тобто статичний масив і динамічний масив. У цьому розділі ми зосередимося лише на статичний масив у Java .

Статичний масив

Масив, який оголошено за допомогою ключового слова static, називається статичним масивом. Він виділяє пам'ять під час компіляції, розмір якої є фіксованим. Ми не можемо змінити статичний масив.

Якщо ми хочемо, щоб розмір масиву залежав від введення користувача, ми не можемо використовувати статичні масиви. У такому випадку динамічні масиви дозволяють нам вказати розмір масиву під час виконання.

Приклад статичного масиву

Наприклад, int arr[10] створює масив розміром 10. Це означає, що ми можемо вставити лише 10 елементів; ми не можемо додати 11-й елемент, оскільки розмір масиву фіксований.

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

Переваги Static Array

  • Має ефективний час виконання.
  • Тривалість життя статичного розподілу – це весь час виконання програми.

Недоліки Static Array

  • Якщо оголошено більше простору для статичних даних, ніж потрібно, відбувається втрата місця.
  • Якщо оголошено менше статичного простору, ніж потрібно, стає неможливим розширити цей фіксований розмір під час виконання.

Оголошення статичного масиву

Синтаксис для оголошення статичного масиву такий:

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

Наприклад:

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

Ми також можемо оголосити та ініціалізувати статичний масив наступним чином:

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

Статичний масив також можна оголосити як список. Наприклад:

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

Програма Static Array Java

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

Давайте подивимося іншу програму 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;>

Різниця між статичним масивом і динамічним масивом

У наведеній нижче таблиці описано основні відмінності між статичним і динамічним масивами.

Статичний масив Динамічний масив
Статичним масивам пам'ять виділяється під час компіляції. Динамічний масив знаходиться під час виконання.
Розмір статичного масиву фіксований. Розмір динамічного масиву фіксований.
Він розташований у стековій пам'яті. Він розташований у просторі пам'яті купи.
int array[10]; //масив розміром 10 int* array = new int[10];