План уроку:
1. Масив
2. Оголошення масиву
3. Методи роботи з масивами
4. Копіювання масивів
5. Список ArrayList
6. Методи класу ArrayList
7. Практика
Масив
Масив – тип чи структура даних у вигляді набору компонентів (елементів масиву), які розміщені у пам'яті безпосередньо один за одним. Водночас доступ до окремих елементів масиву здійснюється за допомогою індексації, тобто посилання на масив із зазначенням номера (індексу) потрібного елемента. Завдяки цьому, на відміну від списку, масив є структурою з довільним доступом.
Розмірність масиву – це кількість індексів, яка необхідна для однозначного доступу до елемента масиву.
Форма масиву – кількість розмірностей плюс розмір (протяжність) масиву для кожної розмірності.
У Java масиви є об'єктами.
Оголошення масиву
Одночасне оголошення змінної та визначення масиву:
int[] array = new int[10];
Якщо масив створюється у такий спосіб, то всім елементам масиву автоматично надаються значення за замовчуванням. Наприклад, для числових значень початкове значення буде 0. Для масиву типу boolean початкове значення буде дорівнює false, для масиву типу char – '\u0000' , для масиву типу класу (об'єкти) – null.
Щоб проініціалізувати масив власними значеннями, просто перерахуйте їх:
int[] array = {2, 5, 7, 8, 3, 0};
Масиви мають фіксований розмір. Після створення масив не може зменшуватись або збільшуватися.
Методи роботи з масивами
Для роботи з масивами використовується клас java.util.Arrays
• Arrays.fill(int[] array, int value) дублює задане значення в кожному елементі масиву.
• Arrays.sort(Object[] array) проводить сортування масиву за зростанням.
• Arrays.toString(Object[] array) повертає рядок з елементами масиву. Якщо масив містить об'єкти, то повертає адресу об'єкта (для масивів у вигляді I@77vedf86).
• Arrays.deepToString(Object[] array) повертає рядок з елементами масиву. Якщо масив містить об'єкти, то повертає значення об'єкта (для масивів [0, 1, 2, 3]).
• Arrays.equals(Object[] array1, Object[] array2) порівнює два масиви. Умови рівності: масиви мають містити однакову кількість елементів, кожен елемент має бути еквівалентним відповідному елементу іншого масиву.
Копіювання масивів
System.arraycopy() – спеціальний метод копіювання масивів. Копіює в наявний масив.
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
• src – вихідний масив;
• srcPos – з якої позиції вихідного масиву розпочати копіювання;
• dest – масив, в який копіювати;
• destPos – з якої позиції розпочати вставлення елементів;
• length – кількість елементів, що копіюються.
Arrays.copyOf() – метод класу Arrays для копіювання масивів. Повертає новий масив.
Arrays.copyOf(T[] original, int newLength)
• original – вихідний масив;
• newLength – розмір нового масиву, що повертається.
Список ArrayList
ArrayList – масив, що автоматично розширюється, може змінювати свій розмір в процесі виконання програми.
ArrayList list = new ArrayList();
Елементи ArrayList можуть бути будь-якого типу, але в одному списку можуть бути елементи тільки одного типу. Щоб явно вказати, якого типу елементи зберігатимуться у списку, під час створення списку необхідно явно вказати тип елементів, які зберігатимуться в ньому:
ArrayList<String> list = new ArrayList<String>();
Такий запис каже, що ми використовували дженерик (узагальнення) з типізованими параметрами. У Java 7 з'явився вкорочений (ромбоподібний) запис:
ArrayList<String> list = new ArrayList<>();
Методи класу ArrayList
add(E element) вставляє елемент element наприкінці списку.
add(int index, E element) вставляє елемент element на позицію index.
remove(int index) видаляє елемент за певною позицією index.
remove(Object o) видаляє перший знайдений елемент, якщо він наявний у списку.
clear() видаляє усі елементи списку.
get(int index) повертає елемент, який розташований на позиції index.
set(int index, E element) заміщує елемент на позиції index елементом element.
size() повертає кількість елементів у списку.
toArray() повертає масив, який містить усі елементи списку.
indexOf(Object o) повертає позицію елемента o у списку або -1, якщо елемента немає.
contains(Object o) повертає true, якщо список містить елемент o.
Q&A
Дякую всім за заняття!🙌🏻
❗️🎓Тема уроку: 5. Списки
Нагадую, що дедлайн здачі домашніх робіт – до наступного уроку.
Якщо виникають складнощі, пишіть, допоможу із задоволенням 😌
Запис лекції тренер опублікує трохи пізніше 🖥
Не забудьте повторити матеріал та підготуватися до наступного уроку📚
Успіху і до зустрічі!🤩
OOP. 1
Прізвище
Вік
Кількість ігор
Кількість пропущених шайб
Визначити середній вік хокеїстів і вивести відомості про хокеїстів, вік яких понад 25 років.
OOP. 2
Виконавець
Жанр
Назва альбому
Тираж
Вивести дані про платівки, тираж яких перевищує 10000 примірників.
OOP. 3
Виробник
Обсяг оперативної пам'яті
Дата виготовлення
Ціна
Визначити комп'ютер, виготовлений фірмою AMD за мінімальною ціною і вивести всі відомості про нього.