Встречается на собеседованиях • сегодня
По каким критериям выберешь класс для добавления элемента в HashMap
При добавлении элемента в HashMap ключ должен правильно реализовывать hashCode() и equals(), чтобы обеспечить корректную работу структуры:
hashCode():- Должен возвращать одинаковое значение для одного и того же объекта.
- Если
equals()возвращаетtrueдля двух объектов, ихhashCode()должен быть одинаковым. - Желательно минимизировать коллизии.
equals():- Должен быть рефлексивным, симметричным, транзитивным и консистентным.
- Должен корректно сравнивать объекты.
Пример хорошего класса-ключа:
java
class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age && Objects.equals(name, person.name);
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы