Расскажи об иерархии коллекций в Java
Иерархия коллекций — это набор интерфейсов и классов, которые предоставляют общие структуры данных, такие как списки, множества и карты. Находится в пакете `java.util` и разработана для работы с группами объектов.
Основные интерфейсы
Collection Interface: Корневой интерфейс иерархии коллекций. Определяет методы, такие как `add()`, `remove()`, `size()`, `isEmpty()` и `iterator()`, которые должны быть реализованы всеми коллекциями.
- List Interface: Представляет упорядоченную коллекцию. Элементы в списке могут быть доступны по индексам. Допускает дублирование элементов. Реализации включают `ArrayList`, `LinkedList` и `Vector`.
- Set Interface: Набор уникальных элементов. Не допускает дублирования элементов. Реализации включают `HashSet`, `LinkedHashSet` и `TreeSet`.
- Queue Interface: Для работы с коллекциями, используемыми для хранения элементов перед обработкой. Поддерживает операции вставки, извлечения и инспекции. `LinkedList` реализует как `List`, так и `Queue`. Также есть `PriorityQueue` для элементов, которые должны обрабатываться в порядке приоритета.
Map Interface: Не наследуется от `Collection` интерфейса. Описывает структуру для хранения пар ключ/значение. Ключи уникальны, а значения могут дублироваться. Реализации включают `HashMap`, `LinkedHashMap`, `TreeMap` и `Hashtable`.
Особенности классов
- ArrayList: Динамический массив для хранения элементов, который автоматически расширяется. Предлагает быстрый доступ к элементам по индексу.
- LinkedList: Двусвязный список, который обеспечивает эффективное добавление/удаление элементов. Может использоваться как список и очередь.
- HashSet: Использует хеш-таблицу для хранения уникальных элементов. Не гарантирует порядок элементов.
- LinkedHashSet: Расширяет `HashSet`, сохраняя порядок вставки элементов.
- TreeSet: Хранит элементы в отсортированном и восходящем порядке. Использует красно-черное дерево.
- HashMap: Хеш-таблица для хранения пар ключ/значение. Не поддерживает упорядоченность ключей или значений.
Feb. 22, 2024, easyoffer
Iterable
Collection
List
Set
SortedSet
NavigableSet
Map
SortedMap
NavigableMap
Iterator
Oct. 21, 2023, Источник
Примеры ответов:
- Техническое собеседование junior Jav…
- Как пройти собеседование по JAVA?
- Собеседование Java Junior | Jetbulb
- Собеседование Java Junior | Алексей …
- Техническое интервью Java Developer …
- Техническое интервью Java Developer …
- Техническое интервью Java Developer …
- Техническое интервью Java Developer …
- Техническое интервью Java Developer …
- Расскажи о иерархии коллекций