Junior — Middle
Data class'ta hashCode metodunun hesaplanması nasıl yapılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de, data class otomatik olarak hashCode() metodunu üretir ve bu, sınıfın birincil yapıcıda bildirilen tüm özelliklere dayanır.
Algoritma yaklaşık olarak şöyledir:
- Her özellik için kendi
hashCode()'u çağrılır. - Bu hash kodları, belirli bir formül (genellikle asal bir sayı ile çarpma ve toplama kullanılarak) ile birleştirilir ve nesnenin nihai hash kodu elde edilir.
Bu, aynı özellik değerlerine sahip iki data class nesnesinin aynı hashCode()'a sahip olmasını sağlar, bu da HashSet veya HashMap gibi koleksiyonlarda doğru çalışması için önemlidir.
Örnek:
data class User(val id: Int, val name: String)
val user1 = User(1, "Alice")
val user2 = User(1, "Alice")
println(user1.hashCode() == user2.hashCode()) // true