Junior — Middle
Барои чӣ дар забони Kotlin усулҳои hashCode() истифода мешавад?
sobes.tech AI
Ҷавоб аз AI
Метод hashCode() в Kotlin се използва за получаване на хеш код на обект — цяло число, което помага ефективно да се съхраняват и търсят обекти в колекции като HashMap или HashSet.
Важно е, ако два обекта са равни според метода equals(), техните hashCode() също да съвпадат. Това осигурява правилната работа на хешираните структури от данни.
Пример за преписване на hashCode() заедно с equals():
data class User(val id: Int, val name: String)
// В data class, hashCode и equals са реализирани автоматично
// Ако пишем клас ръчно:
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
}
}