powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / HashMap нужно ли переопределять хэшь код и equals для значений
1 сообщений из 1, страница 1 из 1
HashMap нужно ли переопределять хэшь код и equals для значений
    #38162337
ReaverDrop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим у меня есть

Map<MyКеуObj1, MyEntityObj2> map = new HashMap<MyКеуObj1, MyEntityObj2>();

Исходя из внутреннего устройства мапы - индекс бакета куда будет помещена структура типа (MyКеуObj1.hashCode() ,MyObj1, MyEntityObj2) будет определен исходя из MyКеуObj1.hashCode() через нормализацию, то же самое когда мы будем извлекать обьект по ключю. Далее в бакете у нас связный список из (MyКеуObj1.hashCode() ,MyКеуObj1, MyEntityObj2) и мы опять таки ищем элемент в списке у которого MyКеуObj1.equals(Искомый ключ).
Т.о хэш код вычисляеться только для ключа (MyКеуObj1), а для значения (MyEntityObj2) не вычисляеться, и не важно вставляем мы элемент или извлекаем, то же самое и для метода equals() - который срабатывает только для ключа, когда мы пробегаемся по линкед листу в бакете,чтобы найти нужный элемент.

Правильно ли это?

Заранее спасибо
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / HashMap нужно ли переопределять хэшь код и equals для значений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]