Sobes.tech
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
    }
}