Sobes.tech
Junior — Middle

Pentru ce este folosită metoda hashCode() în limbajul Kotlin?

sobes.tech AI

Răspuns de la AI

Metoda hashCode() în Kotlin este utilizată pentru a obține codul hash al unui obiect — o valoare întreagă care ajută la stocarea și căutarea eficientă a obiectelor în colecții precum HashMap sau HashSet.

Este important ca dacă două obiecte sunt egale conform metodei equals(), atunci și hashCode() lor să coincidă. Acest lucru asigură funcționarea corectă a structurilor de date bazate pe hash.

Exemplu de suprascriere a hashCode() împreună cu equals():

data class User(val id: Int, val name: String)

// Într-o clasă data, hashCode și equals sunt implementate automat

// Dacă scriem o clasă manual:
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
    }
}