Это просто оптимизация: сравнение двух целых чисел происходит быстрее, чем вызов equals()
.
Если два хэш-кода отличаются друг от друга, то на основе контракта equals
и hashCode
карта знает, что существующий ключ не равен данному ключу и может идти быстрее на следующий.