Встречается на 2% собеседований по Java
Сколько объектов могут быть в одном бакете
В Java HashMap каждый бакет может содержать множество объектов, хранящихся в виде связного списка (до Java 8) или дерева (начиная с Java 8 при превышении порога TREEIFY_THRESHOLD = 8). Теоретически количество объектов в бакете ограничено только памятью, но на практике:
- До Java 8: при коллизиях элементы добавляются в список, что может привести к деградации производительности до O(n)
- Java 8+: при достижении 8 элементов в бакете список преобразуется в сбалансированное дерево (O(log n))
Пример коллизии:
java
Map<BadHash, String> map = new HashMap<>();
for (int i = 0; i < 10; i++) {
map.put(new BadHash(i), "Value" + i); // все объекты попадут в один бакет
}Где BadHash - класс с переопределенным hashCode(), всегда возвращающим 1.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы