#2 - Коллекции данных ArrayList и LinkedList
Відеоурок
В языке Java можно создавать как простые массивы данных, так и динамические массивы данных, что также называются коллекциями. Работа с простыми типами массивов была рассмотрена в курсе по основам языка Java. Посмотреть соответсвующий урок можно .
Коллекции в языке Java
Стандартные массивы предоставляют лишь небольшой функционал по работе с элементами. Если мы захотим добавить 10 элемент в массив что состоит из 9 элементов, то будет выдана ошибка. Такой подход совсем неудобен, ведь не позволяет динамично управлять данными в массиве.
На помощь приходят коллекции данных. В языке Java есть множество интерфейсов по работе с коллекциями. Все такие интерфейсы представлены ниже:

Как видно из фото, каждая коллекция представляет из себя именно интерфейс, а не класс. Основным интерфейсом является Collection.
Вы можете создать коллекцию (другими словами: массив данных) на основе Collection или же на основе других интерфейсов, что являются наследниками интерфейса Collection.
Пугаться коллекций не стоит, ведь коллекции это лишь интерфейсы, а они в свою очередь лишь набор функций, которыми мы, разработчики, можем пользоваться.
Основные коллекции
Помимо главного интерфейса Collection есть три других главных формата:
- List - коллекция для создания массивов данных, где индексами являются числа (0, 1, 2 и так далее);
- Set - тоже самое что List, вот только в Set нельзя установить повторяющиеся элементы;
- Map - коллекция для создания массивов данных, где индексами являются ключи ("one", "2", "three" и так далее).
У каждого интерфейса есть интерфейсы наследники, что дополняют функциями базовый интерфейс. К примеру, можно создать коллекцию на основе класса List, а можно расширить её функционал за счёт создания коллекции на основе LinkedList.
Создание коллекций на основе разных интерфейсов очень схоже, поэтому в видео уроке были рассмотрены лишь ArrayList и LinkedList.
Коллекции безусловно удобнее чем массивы данных. Тем не менее, не стоит злоупотреблять ими, так как они занимают больше оперативной памяти, что может повлиять на скорость загрузки приложения в целом.
Работа с коллекциями
Для работы с коллекциями необходимо подключить соответсвующие интерфейсы из java.util.
При создании коллекции необходимо указать тип данных, имя, а также выделение памяти:
ArrayList<Float> numbers = new ArrayList<>(1);
LinkedList<String> names = new LinkedList<>();Для работы с элементами существует множество методов. Наиболее часто используемые представлены ниже:
add()- добавление элемента в конец массива;remove()- удаление элемента из массива по его индексу;clear()- очистка всего массива;size()- получение размера массива (количество элементов);addFirst()- добавление элемента в начало массива;addLast()- добавление элемента в конец;clone()- выполняет клонирование массива;get()- возвращает элемент по индексу;getFirst()- возвращает первый элемент в массиве;getLast()- возвращает последний элемент в массиве;set(index, element)- меняет значение элемента по индексу.
Вихідний код
Весь код буде доступний після підписки на проект! Завдання до уроку
Необхідно оформити передплату на проект, щоб отримати доступ до всіх домашніх завдань
Велике завдання за курсом
Вам необхідно оформити передплату на сайті, щоб мати доступ до всіх великих завдань. У завдання входить методика рішення, а також готовий проект з відповіддю до завдання.
PS: подібні завдання доступні при підписці від 1 місяця
Також варто подивитися