Встречается на 2% собеседований по Java

Как связаны HashMap и HashSet

HashSet внутри использует HashMap для хранения элементов. Когда добавляешь элемент в HashSet, он помещается как ключ в HashMap, а значением выступает фиктивный объект (обычно PRESENT - константа).

Пример:

java
HashSet<String> set = new HashSet<>();
set.add("Java"); 

// Внутри это работает примерно так:
HashMap<String, Object> map = new HashMap<>();
map.put("Java", PRESENT); // PRESENT - просто заглушка

text

Основные моменты:
- HashSet - это обёртка над HashMap
- Ключи HashMap = элементам HashSet
- Значения HashMap игнорируются (всегда `PRESENT`)
- Оба используют хеширование для быстрого доступа
- Оба не гарантируют порядок элементов

Это делает HashSet эффективным, так как использует оптимизированную HashMap реализацию.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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