Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Да, будет.
При одинаковом hashCode()
все элементы будут попадать в одну "корзину" (bucket) в HashMap
. Это приведет к вырождению HashMap
в связанный список (или дерево, если элементов достаточно много и используется Java 8+ с TreeNode
), что значительно ухудшит производительность операций put()
, get()
, remove()
до O(n) вместо O(1) в среднем случае.
Таким образом, HashMap
будет корректно функционировать, но потеряет свое главное преимущество в скорости из-за коллизий хешей. Для различения объектов с одинаковым хешем используется метод equals()
.
java
Да, будет.
При одинаковом hashCode()
все элементы будут попадать в одну "корзину" (bucket) в HashMap
. Это приведет к вырождению HashMap
в связанный список (или дерево, если элементов достаточно много и используется Java 8+ с TreeNode
), что значительно ухудшит производительность операций put()
, get()
, remove()
до O(n) вместо O(1) в среднем случае.
Таким образом, HashMap
будет корректно функционировать, но потеряет свое главное преимущество в скорости из-за коллизий хешей. Для различения объектов с одинаковым хешем используется метод equals()
.
java
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.