Java Collections Framework предоставляет иерархию интерфейсов и классов для работы с коллекциями данных. Весь этот фреймворк располагается в пакете java.util
. Вот основные интерфейсы и их основные классы в этой иерархии:
Интерфейсы:
Collection
(коллекция):List
: Упорядоченная коллекция с возможностью дублирования элементов.Set
: Неупорядоченная коллекция без дублирования элементов.Queue
: Коллекция, предназначенная для управления элементами в порядке очереди (FIFO).Deque
: Коллекция двусторонняя очередь, поддерживающая вставку и извлечение элементов с обеих сторон.
Map
(отображение):Map
: Интерфейс, представляющий отображение ключ-значение.
Классы (некоторые основные):
Общие для всех коллекций:
AbstractCollection
: Абстрактный базовый класс для реализации интерфейсаCollection
.AbstractList
: Абстрактный базовый класс для реализации интерфейсаList
.AbstractSet
: Абстрактный базовый класс для реализации интерфейсаSet
.AbstractQueue
: Абстрактный базовый класс для реализации интерфейсаQueue
.
Для списков:
ArrayList
: Динамический массив для хранения элементов.LinkedList
: Связанный список.Vector
: АналогArrayList
, но с методами, синхронизированными для безопасности потоков.Stack
: Реализация стека.
Для множеств:
HashSet
: РеализацияSet
на основе хэш-таблицы.LinkedHashSet
: РеализацияSet
с упорядоченными элементами на основе хэш-таблицы и связанного списка.TreeSet
: РеализацияSet
на основе дерева (красно-черного).
Для очередей:
PriorityQueue
: Реализация очереди с приоритетом на основе кучи (heap).
Для отображений:
HashMap
: РеализацияMap
на основе хэш-таблицы.LinkedHashMap
: РеализацияMap
с упорядоченными элементами на основе хэш-таблицы и связанного списка.TreeMap
: РеализацияMap
на основе дерева (красно-черного).
Это лишь несколько примеров из множества классов, предоставляемых в Java Collections Framework. Каждый из них предназначен для решения определенных задач и предоставляет различные характеристики и возможности.