Sobes.tech
Junior — Middle

Барои чӣ дар забони Kotlin усулҳои hashCode() истифода мешавад?

sobes.tech AI

Ҷавоб аз 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
    }
}