Функция hashCode
Функция hashCode
возвращает целочисленное значение,
представляющее хэш-код элемента перечисления (enum).
В Kotlin все enum-классы автоматически получают реализацию
этой функции, которая возвращает стабильное значение,
соответствующее порядковому номеру элемента.
Синтаксис
fun hashCode(): Int
Пример
Получим хэш-код элемента enum:
enum class Direction { NORTH, SOUTH, WEST, EAST }
val dir = Direction.NORTH
val res = dir.hashCode()
println(res)
Результат выполнения кода:
Int 0
Пример
Сравнение хэш-кодов разных элементов enum:
enum class Color { RED, GREEN, BLUE }
val color1 = Color.RED
val color2 = Color.GREEN
println(color1.hashCode())
println(color2.hashCode())
Результат выполнения кода:
Int 0
Int 1
Пример
Использование hashCode
в коллекциях:
enum class Status { ACTIVE, INACTIVE, PENDING }
val set = hashSetOf(Status.ACTIVE, Status.PENDING)
println(set.contains(Status.ACTIVE))
println(Status.ACTIVE.hashCode())
Результат выполнения кода:
Boolean true
Int 0