Sobes.tech
Junior — Middle

Kotlin tilida hashCode() metodidan nima uchun foydalaniladi?

sobes.tech AI

AIdan javob

Kotlin'da hashCode() metodi obyektnin xash kodini olish uchun ishlatiladi — bu, HashMap yoki HashSet kabi kolleksiyalarda ob'ektlarni samarali saqlash va qidirishda yordam beradigan butun sonli qiymat.

Agar ikki ob'ekt equals() metodi bo'yicha teng bo'lsa, ularning hashCode() ham mos kelishi muhimdir. Bu hash asosidagi ma'lumot tuzilmalarining to'g'ri ishlashini ta'minlaydi.

hashCode() va equals() bilan birga qayta yozish misoli:

data class User(val id: Int, val name: String)

// Data class'da hashCode va equals avtomatik amalga oshiriladi

// Agar shaxsiy klass yozilsa:
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
    }
}