Java array. Масиви в java. Java для початківців
Масив (англ. Array) являє собою потужний інструмент, що дозволяє працювати з великою кількістю даних. Очевидно, що якщо вам в процесі роботи вашого коду десь потрібно зберегти, наприклад, 100 значень, то робити для цього таку ж кількість змінних як мінімум нерозумно. Масив дозволяє зберігати велику кількість значень під одним ім`ям і звертатися до них за відповідним індексом. Поняття масивів є наріжним каменем у вивченні курсу Java для початківців. Адже вони є основою для багатьох структур даних.
Оскільки Java це, перш за все, ООП, в порівнянні з масивами в інших мовах програмування java array має одну відмінну рису - вони представляються у вигляді об`єктів. Крім інших переваг, це позбавляє від потреби стежити за очищенням пам`яті, оскільки вона звільняється автоматично.
Створення і маніпуляції одновимірними масивами
Одновимірна масив представляється собою класичний Java array і є сукупністю пов`язаних загальним ім`ям елементів, кожному з яких відповідає певний індекс. Спосіб оголошення масиву наведено на малюнку нижче.
Спочатку оголошується тип Java array, який визначає тип значень, що зберігаються в ньому. Це може бути будь-який допустимий в Java тип даних. Далі йдуть ім`я масиву і квадратні дужки, повідомляють компілятору, що дана змінна є масивом. Зверніть увагу на важливий факт. Квадратні дужки можна ставити як після базового типу масиву, так і після імені масиву. Після знака рівності вказується оператор new, який ініціює виділення пам`яті під масив (так само, як і в випадку з об`єктами), тип елементів, які будуть зберігатися в ньому (повинен бути сумісний з базовим типом, оголошеним раніше), і, нарешті, їх кількість , вказане в квадратних дужках.
Відео: Java для початківців. Урок 13: Багатовимірні масиви
Нумерація елементів в Java array починається з 0. Так, індекс першого елемента в даному масиві дорівнюватиме 0, а шостого - 5. Щоб звернутися до конкретного елементу масиву, наприклад, п`ятого, досить вказати ім`я масиву та індекс елемента в квадратних дужках поруч з ім`ям . Таким чином можна як привласнювати значення елементу, так і витягувати його. Однак слід бути уважним, оскільки якщо передати індекс, за яким не існує елемента, то виникне помилка.
Багатовимірні масиви в Java
Багатовимірні масиви являють собою ряди одновимірних, на які посилаються елементи інших масивів. Іншими словами, це масиви масивів. Найбільш простими серед них є двовимірні. На їхньому прикладі ми і спробуємо розібратися з поняттям. Для наочності на малюнку нижче наведені синтаксис і схема, що описує структуру двовимірного масиву.
Як бачимо, синтаксис не особливо відрізняється від одновимірних масивів. Давайте розберемо структуру. У перших дужках ми виділили місце під 5 елементів. Ці елементи є нічим іншим як посиланнями на окремі масиви. При цьому розмір кожного з них визначено числом в других дужках. По суті, аналогом двовимірних масивів в математиці є матриці. Зверніть увагу, що крім елементів, в пам`яті виділяється окреме місце, де зберігається значення довжини масиву (length). Як правило, робота з багатовимірними масивами здійснюється за допомогою вкладених циклів for.
нерегулярні масиви
Двовимірний масив є масивом масивів. Це ми вже з`ясували. Але чи можуть масиви, що містяться в ньому, мати різну довжину? Відповідь - так, можуть. Для цього в Java передбачена можливість оголошувати двовимірний масив спеціальним чином. Наприклад, ми хочемо створити двовимірний масив, який зберігав би в собі три одновимірних масиву довжиною 2, 3 і 4 відповідно. Оголошується він у такий спосіб:
intarr [] [] = newint [3] [];
Зверніть увагу, що ми не вказали число в других дужках. Визначення розміру масивів в arr робиться так:
arr [0] = new int [2];
arr [1] = new int [3];
arr [2] = newint [4];
Звертаючись до елементу під індексом 0, вказує на перший масив, ми оголошуємо його з розмірністю 2. Під елементом з індексом 1 буде зберігатися масив розмірністю 3, і так далі. Все досить просто.
Альтернативний синтаксис оголошення java array
Ініціалізувати масиви можна і безпосередньо при їх створенні. Це досить просто.
Відео: Java SE: Урок 16. Масиви
Зверніть увагу на оголошення масивів jerseyNumber і playerName.
У випадку з двовимірними масивами дане оголошення виглядає так:
int [] [] arr = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
}
Відео: Java для початківців. Урок 11: Масиви в Java
Для цього замість оператора new відкриваються фігурні дужки, в яких через кому йде перерахування всіх елементів. Java в цьому випадку автоматично виділяє пам`ять під них і індексує їх відповідним чином.
Допоміжний клас Arrays
Для роботи з такими сутностями, як масиви в Java, в пакеті java.util є спеціальний клас Arrays, який надає безліч статичних методів, що значно полегшують операції з ними. Перелік основних методів представлений на малюнку нижче.
Розберемо деякі найкорисніші Java array методи:
- copyOf (масив, довжина) - повертає копію переданого масиву відповідної довжини. Якщо передана довжина більше оригінального масиву, то всі «зайві» елементи заповнюються значенням за замовчуванням (0, якщо простій тип, і null, якщо контрольний).
- copyOfRange (масив, перший індекс, останній індекс) - не зазначений на малюнку, але корисний метод. Він копіює частину переданого масиву, визначену відповідними індексами, починаючи з першого і закінчуючи останнім.
- sort (масив) - сортує елементи масиву по зростанню.
- fill (масив, значення) - заповнює переданий масив відповідним значенням.
- binarySearch (масив, значення) - повертає індекс, під яким елемент з відповідним значенням знаходиться в переданому відсортованому масиві. Якщо ж такий елемент відсутній, то повертається негативне число.
Оскільки методи статичні, то для їх виклику не потрібно створювати екземпляр класу Arrays. Вони викликаються безпосередньо з нього: Arrays.sort (arr).
Відео: Java для початківців: Масив об`єктів, Урок 38!
висновок
Ми розглянули найбільш важливі аспекти щодо масивів, і для тих, хто тільки приступає до вивчення Java для початківців, цього вистачить для базового розуміння такої сутності, як масив, і основних прийомів роботи з ним. Звичайно, практика дасть більше розуміння роботи даного інструменту. Поетом не полінуйтеся зробити кілька вправ, маніпулюючи масивами різними способами.
Допоміжний клас Array Java використовується вже в «бойових» умовах, тому для початку рекомендується вчитися виробляти всі основні операції з масивами вручну.