Масиви

Якщо порівнювати змінну із коробочкою, то масив це ціла полиця з такими коробочками. Масив — це складений тип даних, сукупність, що складається у Java з однотипних елементів, кожен з яких має свій індекс. Погляньте на приклад “масиву” у реальному житті:

Няв

Це масив із 7 елементів, кожен з яких одного типу (кіт) і має індекс. Важливо: у Java рахувати починають з нуля! Нехай замість котів будуть листи (текст), а замість коробок — ящики у поштовому відділенні. Нам не потрібно знати зміст листа, щоб його знайти — достатньо знати номер ящика, у якому він лежить. Що ж, зазирнемо у Java.

Створити масив можна або порожнім, або вже заповненим. По-перше, масиви мають тип їх елементів, але ще з квадратними дужками; тоді масив цілих чисел матиме тип int[], а масив рядків — String[]. По-друге, порожні масиви створюються за допомогою слова new, а заповнені можна створити, вказавши його елементи через кому у фігурних дужках. Загальна схема та приклади створення масивів:

//Порожні масиви
тип[] назва = new тип[розмір];
int[] a = new int[5]; //Цілочисельний масив з п'ятьма елементами

//Заповнені масиви
тип[] назва = {елементи через кому};
String[] b = {"Lorem", "ipsum", "dolor"};

Для кращого розуміння погляньте на таблицю, що відображає масив b:

Індекс Елемент
0 “Lorem”
1 “ipsum”
2 “dolor”

Отримати один елемент з масиву можна таким же чином, як і значення змінної, але потрібно вказати у квадратних дужках індекс цього елемента:

масив[індекс]
System.out.println( b[2] ); //dolor
System.out.println( b[0] ); //Lorem

Якщо вказати індекс, який не існує: такого елемента немає у масиві, — буде помилка ArrayIndexOutOfBoundsException. Також можна змінити елемент (або задати його, якщо він був “порожнім”) звичайним присвоєнням:

масив[індекс] = значення;
b[1] = "sit amet";

Інструкція foreach

Існує ще один різновид циклу for, про який, я вважаю, не можна було розповідати до того, як Ви вивчили масиви, і це — foreach, або як його ще називають — “покращений for”. Цей цикл дозволяє зручніше пройтись по кожному значенню масива. Загальна схема:

for (тип назва_елементу : масив) інструкція;

Для прикладу, є масив String[] things = {"котів", "Java", "книжки"};, до кожного слова якого треба додати “Я люблю”. Виглядатиме це так:

for (String s : things) {
	System.out.println("Я люблю " + s);
}

Я люблю котів

Я люблю Java

Я люблю книжки

Довжина контейнерів

Контейнером широко можна назвати будь-яке значення, що складається (містить у собі) з менших одиниць. Масиви є базовим прикладом контейнерів, а тексти (String) це також контейнери із символів. У них є функція toCharArray(), яка дозволяє перетворити String в сhar[], наприклад для того ж циклу foreach.

Однак, ще однією дуже корисною навичкою є отримання “довжини” масивів, тобто кількості їхніх елементів. Для цього слід використати поле (Ви дізнаєтесь що це пізніше) length. У рядків є відповідна функція length():

масив.length
текст.length()

Багатовимірні масиви

Двовимірний масив можна представити як таблицю — це масив масивів. Працювати з ним не складніше ніж з одновимірними — лише потрібні ще одні квадратні дужки:

int[][] table = { {2,   4,   8  },
                  {16,  32,  64 },
                  {128, 256, 512} };
table[0][2] = 6; //Число на рядку 0 (першому) у стовпці 2 (третьому) змінили з 8 на 6
System.out.println(table[2][1]); //Виведе число 256

Можна створювати три-, п’яти-, та навіть стовимірні масиви так само, однак з ними працювати дуже незручно, тому замість них використовують інші більш складні структури (об’єкти), про які Ви дізнаєтесь через одну тему.


Copyleft 🄯 2020–2024 Михайло Стецюк <yaBobJonez@gmail.com>.
Сайт має ліцензію Creative Commons License.
Дякую рідній школі та вчителям!