Иерархия коллекций в Java основана на наборе интерфейсов, предоставляющих стандартный способ представления групп объектов.
Основные интерфейсы:
Collection: корневой интерфейс иерархии. Определяет базовые операции, применимые ко всем коллекциям: добавление, удаление, проверка наличия элементов, определение размера.Set: коллекция, не содержащая дубликатов и не имеющая определенного порядка элементов.List: упорядоченная коллекция с возможностью доступа к элементам по индексу. Может содержать дубликаты.Queue: коллекция, предназначенная для хранения элементов перед обработкой. Обычно следует правилу FIFO (First-In, First-Out), но существуют и другие реализации.Deque: двусторонняя очередь. Поддерживает добавление и удаление элементов с обоих концов.Map: коллекция, хранящая пары "ключ-значение". Ключи должны быть уникальными. Не расширяет интерфейс Collection.Основные реализующие классы (примеры):
| Интерфейс | Реализующие классы (примеры) | Описание |
|---|---|---|
Set | HashSet, LinkedHashSet, TreeSet | Без дубликатов. HashSet - без порядка, LinkedHashSet - сохраняет порядок добавления, TreeSet - сортированный. |
List | ArrayList, LinkedList, Vector | Упорядоченная. ArrayList - на основе массива, LinkedList - на основе связного списка, Vector - синхронизированный (устарел). |
Queue | LinkedList, PriorityQueue | Для обработки. LinkedList - FIFO, PriorityQueue - на основе приоритетов. |
Deque | ArrayDeque, LinkedList | Двусторонняя очередь. ArrayDeque - на основе массива, LinkedList - на основе связного списка. |
Map | HashMap, LinkedHashMap, TreeMap, Hashtable | Ключ-значение. HashMap - без гарантированного порядка, LinkedHashMap - сохраняет порядок добавления/доступа, TreeMap - сортированный по ключам, Hashtable - синхронизированный (устарел). |
Пример использования ArrayList:
java
Пример использования HashSet:
java
Пример использования HashMap:
java