Встречается на собеседованиях • сегодня

Как устроен HashSet

HashSet в Java реализован на основе HashMap. Он хранит элементы как ключи в HashMap, где значениями являются фиктивные объекты (обычно `PRESENT` - статическая константа). **Особенности:** - Гарантирует уникальность элементов через `equals()` и `hashCode()` - Не гарантирует порядок элементов - Позволяет хранить `null` (только один) - Операции `add()`, `remove()`, `contains()` работают за O(1) в среднем случае Пример: ```java Set set = new HashSet<>(); set.add("apple"); set.add("banana"); set.add("apple"); // Дубликат не добавится System.out.println(set); // Может вывести [banana, apple] ``` Под капотом при добавлении элемента: 1. Вычисляется `hashCode()` объекта 2. Находится бакет в хэш-таблице 3. Если бакет пуст - элемент добавляется 4. Если нет - проверяется `equals()` с существующими элементами в бакете
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы