Ответ
Иерархия коллекций Java построена на основе интерфейсов и их реализаций. Основные интерфейсы:
Iterable<T>— корневой интерфейс, предоставляющий итератор для циклаfor-each.Collection<E>— базовый интерфейс для групп объектов. От него наследуются:List<E>— упорядоченная коллекция с доступом по индексу (допускает дубликаты).- Реализации:
ArrayList,LinkedList,Vector.
- Реализации:
Set<E>— коллекция уникальных элементов.- Реализации:
HashSet(неупорядочен),LinkedHashSet(сохраняет порядок вставки),TreeSet(сортированный).
- Реализации:
Queue<E>— коллекция, предназначенная для обработки элементов в определённом порядке (FIFO, LIFO, приоритет).- Реализации:
LinkedList,PriorityQueue,ArrayDeque.
- Реализации:
Map<K, V>— хранит пары «ключ-значение». Не наследуетCollection, но является частью Collections Framework.- Реализации:
HashMap,LinkedHashMap,TreeMap,Hashtable.
- Реализации:
Пример объявления:
List<String> names = new ArrayList<>();
Set<Integer> uniqueIds = new HashSet<>();
Map<String, Integer> scores = new HashMap<>();
Почему важна иерархия? Она обеспечивает полиморфизм: код, работающий с интерфейсом List, может использовать любую его реализацию (ArrayList или LinkedList), что повышает гибкость и упрощает тестирование.