41. Для чего нужен метод hashCode()?

41. Для чего нужен метод hashCode()?

UNKNOWN

Метод hashCode() необходим для вычисления хэш кода переданного в качестве входного параметра объекта.

В Java это целое число, в более широком смысле - битовая строка фиксированной длины, полученная из массива произвольной длины. Этот метод реализован таким образом, что для одного и того же входного объекта, хэш код всегда будет одинаковым.

Следует понимать, что в Java множество возможных хэш кодов ограничено типом int, а множество объектов ничем не ограничено. Из-за этого, вполне возможна ситуация, что хэш коды разных объектов могут совпасть:

если хэш коды разные, то и объекты гарантированно разные;
если хэш коды равны, то объекты могут не обязательно равны.

Предыдущий вопрос: 40. Какой контракт между hashCode() и equals()?

Следующий вопрос: 42. Правила переопределения метода hashcode().

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне

Report Page