Sobes.tech
Junior — Middle

Ի՞նչ նպատակով է օգտագործվում hashCode() մեթոդը Kotlin լեզվում։

sobes.tech AI

Պատասխան AI-ից

Kotlin-ում hashCode() մեթոդը օգտագործվում է օբյեկտի հեշ կոդը ստանալու համար՝ ամբողջ թիվ, որը օգնում է արդյունավետորեն պահել և որոնել օբյեկտները 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
    }
}