#2 - Коллекции данных ArrayList и LinkedList

#2 - Коллекции данных ArrayList и LinkedList

Java обладает множеством коллекций, что позволяют хранить наборы данных или другими словами массивы данных. За урок будут рассмотрены такие коллекции как 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 месяца

Также стоит посмотреть

Разработка Android программы. Создание чата
6 уроков
Изучение JavaScript от нуля до гуру
21 урок
Курс по React JS для начинающих
14 уроков
Изучение React JS / Redux библиотеки
9 уроков
Изучение таск-менеджера Gulp 4
5 уроков
Уроки Java для начинающих
24 урока
Комментарии для сайта Cackle