Масиви в Java
⚡ Розумний підсумок
Масиви в Java — це контейнери фіксованого розміру на основі індексів, які зберігають елементи одного типу даних у безперервній пам'яті, забезпечуючи доступ у постійному часі, вбудовану перевірку меж та поле довжини, що робить їх основою для більшості колекцій стандартних бібліотек.

Що таке a Java Масив?
A Java масив — це структура фіксованого розміру, яка зберігає елементи одного типу даних у безперервній пам'яті. Кожен елемент досягається за допомогою індексу, що починається з нуля, тому перший знаходиться за адресою 0 і останній о length - 1Масиви успадковуються від Object і реалізувати Serializable та Cloneable, і може містити примітиви або посилання на об'єкти.
Масиви замінюють довгі послідовності нумерованих змінних. Розглянемо шість незалежних цілих чисел:
x0 = 0; x1 = 1; x2 = 2; x3 = 3; x4 = 4; x5 = 5;
Ті самі шість значень знаходяться в одному масиві довжиною шість:
x[0] = 0; x[1] = 1; x[2] = 2; x[3] = 3; x[4] = 4; x[5] = 5;
A петля змінна може керувати індексом у дужках, тому кожен елемент обробляється трьома рядками замість шести копій:
for (int count = 0; count < 5; count++) { System.out.println(x[count]); }
Типи масиву в Java
Java Масиви бувають двох форм:
- Одновимірний масив: плоский список елементів.
- Багатовимірний масив: масив масивів, що використовується для сіток та матриць.
Змінні масиву: оголошення, конструювання та ініціалізація
Використання масиву є триступеневий процес: оголосити, побудувати з new, а потім ініціалізувати.
1) Оголосити масив
Синтаксис:
<elementType>[] <arrayName>;
or (старіша форма в стилі C, досі дійсна):
<elementType> <arrayName>[];
приклад:
int[] intArray; // canonical form: brackets on the type int intArray2[]; // legacy C-style form, discouraged in new code
2) Побудуйте масив
Синтаксис:
arrayName = new dataType[size];
приклад:
intArray = new int[10]; // defines that intArray will store 10 integer values
Декларація та будівництво разом:
int[] intArray = new int[10];
3) Ініціалізація масиву
intArray[0] = 1; // assigns 1 to the first element (index 0) intArray[1] = 2; // assigns 2 to the second element (index 1)
Оголошення та ініціалізація за один крок використання літерала масиву:
int[] intArray = {1, 2, 3, 4}; // initialises an integer array of length 4 where the first element is 1, // the second element is 2, and so on.
Перша програма для роботи з масивами в Java
Крок 1) Скопіюйте наступний код у редактор:
class ArrayDemo { public static void main(String args[]) { int array[] = new int[7]; for (int count = 0; count < 7; count++) { array[count] = count + 1; } for (int count = 0; count < 7; count++) { System.out.println("array[" + count + "] = " + array[count]); } // System.out.println("Length of Array = " + array.length); // array[8] = 10; } }
Крок 2) Збережіть, скомпілюйте та запустіть код. Спостерігайте за результатом.
Очікуваний результат:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Крок 3) If x є посиланням на масив, x.length повертає кількість слотів. Розкоментуйте перший закоментований рядок і запустіть ще раз:
Length of Array = 7
Крок 4) На відміну від C, Java перевіряє межі кожного доступу до масиву. Розкоментуйте другий закоментований рядок і запустіть ще раз:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Крок 5) JVM викидає ArrayIndexOutOfBoundsExceptionУ C той самий доступ повертав би сміття із суміжної пам'яті замість невдачі.
Java Масив: Передача за посиланням
Масиви передаються методам за посиланням. Метод отримує копію посилання, тому зміни елементів, внесені всередині методу, видимі для викликаючої сторони.
Приклад: масиви передаються за посиланням.
Крок 1) Скопіюйте наступний код у редактор:
class ArrayDemo { public static void passByReference(String a[]) { a[0] = "Changed"; } public static void main(String args[]) { String[] b = {"Apple", "Mango", "Orange"}; System.out.println("Before Function Call " + b[0]); ArrayDemo.passByReference(b); System.out.println("After Function Call " + b[0]); } }
Крок 2) Збережіть, скомпілюйте та запустіть код. Спостерігайте за результатом.
Очікуваний результат:
Before Function Call Apple After Function Call Changed
Багатовимірні масиви в Java
Багатовимірні масиви – це масиви масивів. Додайте ще один набір квадратних дужок для кожного виміру. Щоб створити двовимірну цілочисельну сітку з чотирма рядками та п'ятьма стовпцями:
int[][] twoD = new int[4][5];
Вам потрібно визначити розмір лише першого (крайнього лівого) виміру спереду. Решту вимірів можна розподілити окремо, і кожен рядок може мати свою власну довжину, що робить Java 2-вимірні масиви true зубчасті масиви.
приклад:
public class Guru99 { public static void main(String[] args) { // Create a 2-dimensional array with 4 rows and 4 columns. int[][] twoD = new int[4][4]; // Assign three elements to it. twoD[0][0] = 1; twoD[1][1] = 2; twoD[3][2] = 3; System.out.print(twoD[0][0] + " "); } }
Очікуваний результат:
1
