Функция случайных вопросов поможет вам подумать и проверить свои знания.
Попробуйте ответить на вопросы устно или в уме, а затем нажмите на сам вопрос, чтобы сравнить свой ответ и проанализировать его.
Что вы упустили? А может быть, вы знаете гораздо больше? Так или иначе, это хорошая практика. :)
В базе данных хранится около 500 вопросов, охватывающих различные темы из категорий таких как Core-1, Core-2, Многопоточность, SQL, Hibernate, Spring, Паттерны, Алгоритмы.
В категории M-BOSS находятся вопросы, которые могут встречаться на технических собеседованиях Java - разработчиков. (взято из открытых источников)
Приглашаю вас присоединиться к телеграм-группе для обратной связи и получения информации о будущих обновлениях! Хочу вас также пригласить в дискорд, для общения на различные темы о Java и не только в ламповой атмосфере.
Дискорд будет пополняться не сложными практическими задачами, которые будут помогать прокачивать навыки технического мышления!
Заходите на канал "задачи-по-java" и оттачивайте свои навыки!
Помните: Именно кропотливый труд над собой, делает из вас профессионала высокого уровня!
Приятного обучения!

Что будет, если переопределить equals(), не переопределяя hashCode()? Какие могут возникнуть проблемы?

Core - 1

Если переопределить метод `equals()` без переопределения метода `hashCode()` , то могут возникнуть проблемы при использовании объектов в коллекциях, основанных на хэш-таблицах, таких как `HashMap` , `HashSet` и других. Основная проблема заключается в том, что нарушается требование согласованности между `equals()` и `hashCode()` . Согласно контракту, если два объекта равны согласно методу `equals()` , то их хэш-коды должны быть равными. Обратное, однако, не обязательно верно: два объекта с одинаковыми хэш-кодами не обязательно равны по методу `equals()` . Если объекты не переопределены вместе `equals()` и `hashCode()` , то при добавлении их в коллекции, основанной на хэш-таблице, они могут быть помещены в разные корзины (buckets) внутри хэш-таблицы. В результате, при попытке поиска объекта по его значению методом `equals()` , коллекция не сможет найти его в правильной корзине, так как использует неправильный хэш-код. Это может привести к неправильному функционированию коллекции, например, к невозможности найти объект, который уже находится в коллекции, или к возникновению дубликатов объектов в коллекции. Поэтому важно переопределить и метод `hashCode()` вместе с методом `equals()` для обеспечения правильной работы с коллекциями, основанными на хэш-таблицах.

Открыть

Копировать ссылку

ДРУГОЙ ВОПРОС