Основные реализации коллекций в Java, входящие в Java Collections Framework:
Collection
- базовый интерфейс для всех коллекций.List
- упорядоченная коллекция, допускающая дубликаты.Set
- неупорядоченная коллекция уникальных элементов.SortedSet
- упорядоченный Set.NavigableSet
- SortedSet с методами для навигации по элементам.Queue
- коллекция, предназначенная для хранения элементов перед обработкой (FIFO).Deque
- двусторонняя очередь.Map
- коллекция пар ключ-значение (ключи уникальны).SortedMap
- упорядоченная Map.NavigableMap
- SortedMap с методами для навигации по записям.ArrayList
- реализован на основе массива, быстрый доступ по индексу, медленные операции вставки/удаления не с конца.LinkedList
- реализован на основе двусвязного списка, быстрые операции вставки/удаления в начале/конце, медленный доступ по индексу.Vector
- синхронизированный (потокобезопасный) аналог ArrayList, устаревший (предпочтительнее CopyOnWriteArrayList
).Stack
- LIFO коллекция, расширяет Vector
, устаревший (предпочтительнее Deque
или ArrayDeque
).HashSet
- реализован на основе хеш-таблицы (HashMap
), быстрые поиск, вставка, удаление при условии хорошей хеш-функции. Не сохраняет порядок.LinkedHashSet
- расширяет HashSet
, сохраняет порядок добавления элементов.TreeSet
- реализован на основе Red-Black дерева, хранит элементы в отсортированном порядке. Быстрые поиск, вставка, удаление (O(log n)).PriorityQueue
- очередь с приоритетами, основана наОсновные реализации коллекций в Java, входящие в Java Collections Framework:
Collection
- базовый интерфейс для всех коллекций.List
- упорядоченная коллекция, допускающая дубликаты.Set
- неупорядоченная коллекция уникальных элементов.SortedSet
- упорядоченный Set.NavigableSet
- SortedSet с методами для навигации по элементам.Queue
- коллекция, предназначенная для хранения элементов перед обработкой (FIFO).Deque
- двусторонняя очередь.Map
- коллекция пар ключ-значение (ключи уникальны).SortedMap
- упорядоченная Map.NavigableMap
- SortedMap с методами для навигации по записям.ArrayList
- реализован на основе массива, быстрый доступ по индексу, медленные операции вставки/удаления не с конца.LinkedList
- реализован на основе двусвязного списка, быстрые операции вставки/удаления в начале/конце, медленный доступ по индексу.Vector
- синхронизированный (потокобезопасный) аналог ArrayList, устаревший (предпочтительнее CopyOnWriteArrayList
).Stack
- LIFO коллекция, расширяет Vector
, устаревший (предпочтительнее Deque
или ArrayDeque
).HashSet
- реализован на основе хеш-таблицы (HashMap
), быстрые поиск, вставка, удаление при условии хорошей хеш-функции. Не сохраняет порядок.LinkedHashSet
- расширяет HashSet
, сохраняет порядок добавления элементов.TreeSet
- реализован на основе Red-Black дерева, хранит элементы в отсортированном порядке. Быстрые поиск, вставка, удаление (O(log n)).PriorityQueue
- очередь с приоритетами, основана наЗарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.