В моем понимании я думаю:
- Совершенно легально, чтобы два объекта имели один и тот же хэш-код.
- Если два объекта равны (используя метод equals()), то они имеют одинаковый хэш-код.
- Если два объекта не равны, то они не могут иметь один и тот же хэш-код
Правильно ли я?
Теперь, если это правильно, у меня есть следующий вопрос:
HashMap
внутренне использует хэш-код объекта. Таким образом, если два объекта могут иметь один и тот же хэш-код, то как может HashMap
отслеживать, какой ключ он использует?
Может кто-нибудь объяснить, как HashMap
внутренне использует хэш-код объекта?