Назад к вопросам
Яндекс
Junior — Middle
68
Каким образом осуществляется вычисление метода hashCode в data class?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Kotlin data class автоматически генерирует метод hashCode(), который вычисляется на основе всех свойств, объявленных в первичном конструкторе класса.
Алгоритм примерно следующий:
- Для каждого свойства вызывается его собственный
hashCode(). - Эти хэш-коды комбинируются с помощью определённой формулы (обычно с использованием умножения на простое число и сложения), чтобы получить итоговый хэш-код объекта.
Это обеспечивает, что два объекта data class с одинаковыми значениями свойств будут иметь одинаковый hashCode(), что важно для корректной работы в коллекциях, таких как HashSet или HashMap.
Пример:
data class User(val id: Int, val name: String)
val user1 = User(1, "Alice")
val user2 = User(1, "Alice")
println(user1.hashCode() == user2.hashCode()) // true