Зміст курсу
Основи Java
Основи Java
Що таке масив?
Масиви
Зберігання інформації виключно у змінних не завжди зручно, оскільки це споживає значний обсяг пам'яті стеку та вимагає великої кількості рядків коду.
Рішенням цієї проблеми є масиви.
Розглянемо базовий синтаксис оголошення масиву в Java:
Main
dataType[] arrayName = new dataType[capacity];
Можна використовувати будь-який тип даних при оголошенні масиву, включаючи int
, float
, char
та інші. Ви навіть можете використовувати власні класи у визначеннях масивів. Вивчення створення власних класів та їх об'єктів буде розглянуто в окремому курсі Java Extended.
Обов'язково потрібно вказати розмір масиву у квадратних дужках ([]
). Розглянемо приклад створення масиву типу int
з розміром 5:
Main
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Prints the size of the array System.out.println(intArray.length); } }
Як ви могли помітити, ми використали щось незнайоме разом із виведенням у консоль. Це називається властивість масиву.
Масиви мають власні властивості.
Властивості викликаються за допомогою крапкової (.
) нотації для об'єкта, який їх має. У нашому прикладі масив intArray
має властивості, і ми використовуємо одну з них.
Властивість .length
повертає розмір (довжину) масиву як значення типу int
. Це також можна записати по-іншому:
Main
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Declares a new int with the value of the array's size int length = intArray.length; // Prints the size of the array System.out.println(length); } }
Тепер розглянемо три основні методи та властивості для роботи з масивами:
Arrays.sort(array)
: сортує елементи масиву у порядку зростання;Arrays.fill(array, value)
: встановлює всім елементам масиву задане значення;Arrays.toString(array)
: перетворює масив у рядкове представлення, що спрощує відображення його елементів.
Main
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int[] array = {5, 2, 9, 1, 6}; // Sort the array Arrays.sort(array); System.out.println("Sorted array: " + Arrays.toString(array)); // Fill the array with the value 0 Arrays.fill(array, 0); System.out.println("Array after filling: " + Arrays.toString(array)); } }
Спочатку масив сортується у порядку зростання за допомогою Arrays.sort()
, а відсортований масив відображається за допомогою Arrays.toString()
, яка перетворює масив у читабельний рядковий формат. Далі всі елементи масиву замінюються на 0 за допомогою Arrays.fill()
, і оновлений масив виводиться у тому ж читабельному форматі.
Як отримати доступ до конкретних даних у масиві?
Масиви в Java є індексованими. Кожен елемент масиву розташований у своїй комірці та має унікальний ID. Нумерація елементів у масиві починається з 0. Припустимо, у нас є масив чисел від нуля до дев'яти, тобто він містить 10 елементів.
Розглянемо діаграму, яка ілюструє, як елементи організовані у масиві:
Якщо у нас є масив з 10 елементів, перший елемент буде збережено за індексом 0, а останній — за індексом 9, оскільки індексація починається з нуля.
Практика завжди ефективніша за теорію, тому розгляньмо приклад додавання та видалення елементів з масиву за допомогою індексів:
Main
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Fills the array with numbers from 1 to 5 intArray[0] = 1; intArray[1] = 2; intArray[2] = 3; intArray[3] = 4; intArray[4] = 5; // Prints the fourth element of the array System.out.println(intArray[3]); } }
Ми заповнили наш масив елементами від одного до п’яти, вказуючи кожен елемент за допомогою індексу. Однак цей підхід не є елегантним і потребує багато рядків коду. Розгляньмо альтернативний спосіб оголошення масиву, який вже заповнений елементами:
Main
package com.example; public class Main { public static void main(String[] args) { // Declares a new pre-filled int array with a length of 5 int[] intArray = {1, 2, 3, 4, 5}; // Prints the first element of the array System.out.println(intArray[0]); } }
Ми створили масив, ідентичний до того, який ми робили раніше, але цього разу це вимагало менше рядків коду та виглядало більш елегантно.
Варто зазначити, що при використанні такої нотації для масиву елементи повинні бути взяті у фігурні дужки ({}
) та розділені комами.
1. Що буде виведено при виконанні цього коду?
2. Що буде виведено під час виконання цього коду?
Дякуємо за ваш відгук!