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. Каждый из них предназначен для решения определенных задач и предоставляет различные характеристики и возможности.