Junior — Middle
105
Чаро дар Java усули hashCode() барои объект пешбинӣ шудааст ва чӣ гуна онро дуруст истифода бурдан мумкин аст؟
Ширкатҳо дар куҷо пурсиданд
Норд Клан
Ҷавоб аз AI
sobes.tech AI
Метод hashCode() в Java используется для получения хэш-кода объекта — целого числа, которое помогает эффективно размещать объекты в хэш-структурах данных, таких как HashMap, HashSet и Hashtable.
Правила использования:
- Если вы переопределяете метод
equals(), обязательно переопределяйте иhashCode(), чтобы объекты, считающиеся равными, имели одинаковый хэш-код. - Хэш-код должен быть стабильным в течение жизни объекта, если поля, участвующие в вычислении, не изменяются.
Пример переопределения:
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return id == person.id && Objects.equals(name, person.name);
}
@Override
public int hashCode() {
return Objects.hash(id, name);
}
Здесь hashCode() и equals() согласованы, что обеспечивает корректную работу коллекций на основе хэширования.