Junior — Middle
Zašto se koristi metoda hashCode() u jeziku Kotlin?
sobes.tech АИ
Одговор од АИ
Metoda hashCode() u Kotlin-u se koristi za dobijanje hash koda objekta — celobrojnu vrednost koja pomaže efikasno skladištenje i pretraživanje objekata u kolekcijama kao što su HashMap ili HashSet.
Važno je da ako su dva objekta jednaka prema metodi equals(), njihovi hashCode() takođe moraju biti isti. Ovo obezbeđuje ispravno funkcionisanje hash-ovanih struktura podataka.
Primer prepisivanja hashCode() zajedno sa equals():
data class User(val id: Int, val name: String)
// U data klasi, hashCode i equals su automatski implementirani
// Ako ručno pišemo klasu:
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
}
}