#9 – Коллекции в Джава (Collections Framework)

#9 – Коллекции в Джава (Collections Framework)

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

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

Изучение таск-менеджера Gulp 4
5 уроков
Уроки Node JS и Express для начинающих
13 уроков
Изучение библиотек jQuery
24 урока
Изучение стека MEAN: MongoDB, Express, Angular и Node JS
10 уроков
Курс по React JS для начинающих
11 уроков
Уроки Angular для начинающих
7 уроков
Комментарии
Добавить комментарий

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