Junior — Middle
Kam naudojama hashCode() metodas Kotlin kalboje?
sobes.tech AI
Atsakymas iš AI
Kotlin hashCode() metodas naudojamas gauti objekto maišos kodą — sveikasis skaičius, kuris padeda efektyviai saugoti ir ieškoti objektus kolekcijose, tokiose kaip HashMap ar HashSet.
Svarbu, kad jei du objektai yra lygūs pagal equals() metodą, jų hashCode() taip pat turi sutapti. Tai užtikrina teisingą hash pagrįstų duomenų struktūrų veikimą.
Pavyzdys, kaip perrašyti hashCode() kartu su equals():
data class User(val id: Int, val name: String)
// Data klasėje `hashCode()` ir `equals()` yra automatiškai įgyvendinti
// Jei rašome klasę rankiniu būdu:
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
}
}