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