Какая сложность у HashMap.get?

Ответ

O(1) в среднем. O(log n) худший случай при treeified бакете (с Java 8). O(n) при катастрофически плохом hashCode.

Разбор: get — O(1) в среднем; при сильных коллизиях бакет может оказаться связным списком (O(n)) или, начиная с Java 8, красно-чёрным деревом (O(log n)). Гарантии O(1) во всех случаях нет, среднее не O(log n) (дерево возникает только в выродившихся бакетах), и treeification реально присутствует в HashMap.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться