Junior — Middle
Para que é que serve o método hashCode() na linguagem Kotlin?
sobes.tech IA
Resposta da IA
O método hashCode() em Kotlin é utilizado para obter o código hash de um objeto, um valor inteiro que ajuda a armazenar e procurar objetos de forma eficiente em coleções como HashMap ou HashSet.
É importante que, se dois objetos forem iguais de acordo com o método equals(), seus hashCode() também coincidam. Isso garante o funcionamento correto das estruturas de dados baseadas em hash.
Exemplo de sobrescrita de hashCode() juntamente com equals():
data class User(val id: Int, val name: String)
// Em uma data class, hashCode e equals são implementados automaticamente
// Se escrevermos uma classe manualmente:
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
}
}