
#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 месяца
Также стоит посмотреть