Уроки Java Профи

#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 месяца

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

Уроки Java для начинающих
21 урок
Курс по React JS для начинающих
14 уроков
Создание динамического веб сайта
22 урока
Уроки Vue.js для начинающих
10 уроков
Практика React JS / Разработка магазина (eCommerce)
9 уроков
Изучение JavaScript: от нуля и до создания сайта
Комментарии
Добавить комментарий

Пока комментариев нет