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
}
}