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

Какая скорость доступа к элементу в HashMap

В среднем O(1) для get() и put() операций при хорошей хеш-функции и равномерном распределении элементов. В худшем случае (коллизии) может деградировать до O(n), когда все элементы попадают в одну корзину.

Пример:

java
Map<String, Integer> map = new HashMap<>();
map.put("key", 42);  // O(1)
int value = map.get("key");  // O(1)

Факторы влияющие на скорость:

  • Качество hashCode() - должен равномерно распределять ключи
  • Load factor (по умолчанию 0.75) - определяет когда происходит рехеширование
  • Размер capacity - начальный размер массива корзин

Java 8 улучшила обработку коллизий - при большом количестве коллизий в корзине (>8 элементов) переходит с linked list на balanced tree (O(log n)).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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