Sobes.tech
Junior — Middle

За какво се използва методът hashCode() в езика Kotlin?

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
    }
}