Java Core trainee
Что будет, если hashCode возвращает константу (например, return 1)?
Ответ
Все объекты попадут в один бакет HashMap. Поиск превратится в перебор связного списка (или дерева с Java 8) — деградация с O(1) до O(n) или O(log n). Карта работает, но медленно. Это любимый подвох на собесе.
Разбор: Константный hashCode корректен с точки зрения контракта (равные объекты дают равный хеш), поэтому карта продолжит работать без ошибок и без перезаписи разных ключей. Ловушка в том, что все элементы окажутся в одном бакете, и внутри него поиск идёт перебором (список или дерево с Java 8), вырождая O(1) до O(n)/O(log n).
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.