Встречается на 18% собеседований по Java
Как работает HashMap
HashMap в Java хранит пары ключ-значение, используя хеш-таблицу. При добавлении элемента:
- Вычисляется хеш ключа через
hashCode() - На основе хеша определяется индекс корзины (bucket)
- Если корзина пуста - элемент добавляется
- При коллизии (одинаковый хеш) используется цепочка (LinkedList до Java 8, затем TreeNode при большом количестве коллизий)
java
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1); // hash("apple") % capacity -> индекс
map.get("apple"); // аналогичный расчет хешаОсобенности:
- Не гарантирует порядок элементов
- Позволяет null ключ и null значения
- Начальный capacity = 16, load factor = 0.75 (автоувеличение при заполнении)
- Не потокобезопасна (используйте ConcurrentHashMap)
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы
