Junior — Middle
84
Для чего используется метод hashCode() в языке Kotlin?
Companies where asked
IBS
Answer from AI
sobes.tech AI
Метод hashCode() в Kotlin используется для получения хэш-кода объекта — целочисленного значения, которое помогает эффективно хранить и искать объекты в коллекциях, таких как HashMap или HashSet.
Важно, чтобы если два объекта равны по методу equals(), то их hashCode() тоже совпадал. Это обеспечивает корректную работу хэш-структур данных.
Пример переопределения hashCode() вместе с equals():
data class User(val id: Int, val name: String)
// В data class hashCode и equals реализованы автоматически
// Если пишем класс вручную:
class Person(val id: Int, val name: String) {
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other !is Person) return false
return id == other.id && name == other.name
}
override fun hashCode(): Int {
var result = id
result = 31 * result + name.hashCode()
return result
}
}