Junior — Middle
Kotlin ენისთვის hashCode() მეთოდი რა მიზნით გამოიყენება?
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
}
}