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

Как хранится значение, которое из HashSet попадает в HashMap

В `HashSet` значения хранятся как ключи в `HashMap`, где значениями служат фиктивные объекты (обычно `PRESENT` — константа `Object`). При добавлении элемента в `HashSet` вызывается `map.put(element, PRESENT)`. Если элемент уже есть, `put` возвращает старое значение, и добавление не происходит. Пример: ```java HashSet set = new HashSet<>(); set.add("Java"); // Внутри: map.put("Java", PRESENT) ``` Нюансы: - `HashMap` требует уникальности ключей, что обеспечивает уникальность элементов в `HashSet`. - `PRESENT` — это просто заглушка (`private static final Object PRESENT = new Object()`), не влияющая на логику. - При коллизиях хешей `HashMap` использует цепочки или дерево (в Java 8+), но это прозрачно для `HashSet`. Таким образом, `HashSet` — это обёртка над `HashMap` с фокусом на ключи.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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