Встречается на собеседованиях • сегодня
Как используется метод equals в HashMap
В HashMap метод equals() используется для сравнения ключей при разрешении коллизий. Если хэш-коды ключей совпадают (коллизия), HashMap вызывает equals() для проверки, действительно ли ключи одинаковы.
Пример:
java
Map<String, Integer> map = new HashMap<>();
map.put("key", 1);
map.put("key", 2); // Вызовет equals() для сравнения ключей
// Кастомный ключ
class MyKey {
String id;
text
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MyKey myKey = (MyKey) o;
return Objects.equals(id, myKey.id);
}
@Override
public int hashCode() {
return Objects.hash(id);
}}
text
Важно:
1. Всегда переопределять `hashCode()` вместе с `equals()`
2. `equals()` должен быть: рефлексивным, симметричным, транзитивным, консистентным
3. Для `null` ключей `equals()` не вызывается
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы