Встречается на собеседованиях • сегодня

Что такое коллизия hashCode в HashSet

Коллизия hashCode возникает, когда разные объекты возвращают одинаковый хеш-код. В HashSet это приводит к тому, что объекты попадают в одну и ту же корзину (bucket), даже если они не равны по `equals()`. Пример: ```java class Person { String name; Person(String name) { this.name = name; } @Override public int hashCode() { return 1; } // Умышленно плохой hashCode } Set set = new HashSet<>(); set.add(new Person("Alice")); set.add(new Person("Bob")); // Коллизия - оба объекта в одной корзине ``` Последствия: - HashSet деградирует до производительности O(n), так как корзина превращается в список - Методы `contains()`, `add()`, `remove()` начинают работать медленнее Решение: - Реализовывать `hashCode()` так, чтобы разные объекты возвращали разные хеш-коды - Соблюдать контракт между `hashCode()` и `equals()`
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы