Sobes.tech
Junior — Middle
83

Для чего используется метод 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
    }
}