Skip to content

Тема 15. Java Collection Framework

Alesey edited this page Dec 7, 2021 · 5 revisions

Материал находится на стадии "Черновик"

Содержание:

  1. Обзор Collections Framework
  2. Iterator
  3. Список литературы/курсов

Большая часть работы кода — это обработка данных в том или ином виде. Обработать массив данных, структурировать, найти соответствие между данными, отфильтровать, а если перейти к примерам, то получить список пользователей, получить список адресов, как-то их отсортировать, выполнить поиск в данных, сопоставить данные. Именно поэтому знание коллекций считается одним из основных навыков.

Обзор Collections Framework

Это набор различных интерфейсов и инструментов для работы с массивами данных в различных форматах. Коллекции позволяют производить манипуляции с массивами (Array), очередями (Queue), стеками (Stack), списками (List), справочниками (Map), множествами (Set) и другими структурами.

Collection — это идея, это представление о том, как должны себя вести все коллекции.

В основе иерархической структуры Java Collections Framework лежит интерфейс Collection. Этот интерфейс содержит в себе основные методы, необходимые для работы с массивами данных, такие как:

  • add(…) — добавить,
  • remove(…) — убрать,
  • clear(…) — очистить.

Остальные интерфейсы и классы так или иначе наследуются от него. Прямые наследники интерфейса Collection - базовые интерфейсы для основных типов структур данных:

  • List - линейные списки данных,
  • Queue - очереди данных,
  • Set - множества уникальных объектов.

Отдельно располагается интерфейс Map, который задает методы для работы с парами ключ-значение. Он не наследуется от Collection, потому что требует совершенно другого подхода к работе с данными.

Все эти интерфейсы описывают основную функциональность для каждой структуры, их стандартные реализации являются основными классами для работы с наборами данных в Java. Наглядно структуру можно изучить на схеме ниже:

Java Collection Framework hierarchy

Интерфейс Collection имеет абстрактный класс AbstractCollection, то есть некоторая «абстрактная коллекция», которая представляет собой скелет для остальных реализаций. Говоря о массивах данных, напрашивается вопрос об итерировании - поочередном переборе каждого элемента массива. Для реализации такой функциональности интерфейс Collection наследуется от интерфейса Iterable, который был создан как раз для таких целей. Это значит, что все наследники интерфейса Collection являются итерируемыми вне зависимости от типа их реализации. И именно при помощи итератора в AbstractCollection реализованы такие фундаментальные методы, как contains, toArray, remove.

#Iterator

#Список литературы/курсов

Clone this wiki locally