Шаг 73.
Язык программирования Java.
Интерфейсы Collection и Iterator. Разновидности коллекций

На этом шаге мы рассмотрим интерфейсы Collection и Iterator

Интерфейсы Collection и Iterator расположены в пакете java.util. Рассмотрим каждый из них.

Интерфейс java.util.Collection является базовым интерфейсом для коллекций стандартной библиотеки в Java. Он содержит множество функций для работы с коллекциями. Перечислим ниже лишь на наш взгляд самые часто используемые функции из данного интерфейса:

Все коллекции стандартной библиотеки Java реализуют интерфейс Collection, за исключением коллекции Map (о ней мы поговорим позднее).

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

Обратим внимание на ключевое слово default в объявлении функций remove() и forEachRemaining(Consumer<? super E> action). Это ключевое слово было добавлено в Java 8. Причина добавления следующая. Представим, что вы написали некоторую библиотеку, в которой есть несколько интерфейсов, например 20. В один прекрасный момент вы решили добавить в некоторые из них несколько новых методов. После чего разработчикам программ, которые используют вашу библиотеку в своих проектах, должны будут исправить свои приложения, так как любой класс, реализующий какой то интерфейс должен реализовывать все методы, определенные в этом интерфейсе. Если вашу библиотеку используют многие программисты по всему миру, то это становится проблемой всего мира. Разработчики Java решили эту проблему реализацией методов в интерфейсе по умолчанию. Достаточно пометить такой метод ключевым словом default и написать нужную вам реализацию.

Коллекции в Java можно разбить на 4 группы:

  1. List - Коллекция, представляющая из себя список;
  2. Queue и Deque - Коллекции, представляющие из себя очередь и дек соответственно;
  3. Set - Коллекция, представляющая из себя множество;
  4. Map - Коллекция, представляющая из себя ассоциативный массив.

Также в стандартной библиотеке Java есть следующие коллекции: Vector, Stack, Dictionary и Hashtable. Использовать их крайне нежелательно, так как эти коллекции устарели и возможно в последующих версиях Java будут исключены из библиотеки.

На следующем шаге мы рассмотрим интерфейс List

Предыдущий шаг Содержание Следующий шаг