Какова иерархия наследования интерфейса List в Java?

«Какова иерархия наследования интерфейса List в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Интерфейс List в Java наследуется от интерфейса Collection, который, в свою очередь, наследуется от Iterable.

Иерархия: IterableCollectionList

Почему такая иерархия?

  • Iterable предоставляет базовую возможность итерации по элементам (метод iterator()).
  • Collection добавляет общие операции для работы с группами объектов: добавление, удаление, проверка размера и т.д.
  • List расширяет Collection, добавляя специфику для упорядоченных коллекций: гарантированный порядок элементов, доступ по индексу и методы для работы с позициями.

Пример:

// List - это интерфейс, ArrayList - его реализация
List<String> names = new ArrayList<>();
names.add("Анна"); // Метод из Collection
String first = names.get(0); // Метод из List (доступ по индексу)

Основные реализации: ArrayList, LinkedList, Vector.