Junior — Middle
Mire használják a hashCode() metódust a Kotlin nyelvben?
sobes.tech MI
Válasz az MI-től
A hashCode() metódus Kotlinban az objektum hash-kódjának megszerzésére szolgál — egy egész érték, amely segít az objektumok hatékony tárolásában és keresésében olyan kollekciókban, mint a HashMap vagy HashSet.
Fontos, hogy ha két objektum a equals() módszer szerint egyenlő, akkor a hashCode() értékük is egyezzen. Ez biztosítja a hash-alapú adatszerkezetek helyes működését.
A hashCode() és equals() felülírásának példája:
data class User(val id: Int, val name: String)
// Egy data classban a hashCode és az equals automatikusan implementálva van
// Ha kézzel írunk egy osztályt:
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
}
}