Junior — Middle
Na co se v jazyce Kotlin používá metoda hashCode()?
sobes.tech AI
Odpověď od AI
Metoda hashCode() v Kotlinu se používá k získání hash kódu objektu — celočíselné hodnoty, která pomáhá efektivně ukládat a hledat objekty v kolekcích, jako jsou HashMap nebo HashSet.
Je důležité, aby pokud jsou dva objekty podle metody equals() shodné, jejich hashCode() také odpovídal. To zajišťuje správnou funkci hashovaných datových struktur.
Příklad přepsání hashCode() spolu s equals():
data class User(val id: Int, val name: String)
// V datové třídě jsou hashCode a equals implementovány automaticky
// Pokud píšeme třídu ručně:
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
}
}