Sobes.tech
Junior — Middle

¿Cómo se realiza el cálculo del método hashCode en una data class?

sobes.tech AI

Respuesta de la IA

En Kotlin, la data class genera automáticamente el método hashCode(), que se calcula en función de todas las propiedades declaradas en el constructor principal de la clase.

El algoritmo es aproximadamente el siguiente:

  • Para cada propiedad, se llama a su propio hashCode().
  • Estos códigos hash se combinan mediante una fórmula específica (generalmente usando multiplicación por un número primo y suma) para obtener el código hash final del objeto.

Esto asegura que dos objetos data class con los mismos valores de propiedades tengan el mismo hashCode(), lo cual es importante para el correcto funcionamiento en colecciones como HashSet o HashMap.

Ejemplo:

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