Junior — Middle
Kam paredzēts hashCode() metode Kotlin valodā?
sobes.tech AI
Atbilde no AI
Kotlin hashCode() metode tiek izmantots, lai iegūtu objekta hash kodu — veselu skaitli, kas palīdz efektīvi glabāt un meklēt objektus kolekcijās, piemēram, HashMap vai HashSet.
Svarīgi, lai, ja divi objekti ir vienādi pēc equals() metodes, to hashCode() arī būtu vienādi. Tas nodrošina pareizu hash balstītu datu struktūru darbību.
hashCode() un equals() pārrakstīšanas piemērs:
data class User(val id: Int, val name: String)
// Data klasē `hashCode()` un `equals()` ir automātiski realizēti
// Ja rakstām klasi manuāli:
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
}
}