НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
1260 of 1310 menu

Функция hashCode

Функция hashCode возвращает целочисленное значение, которое представляет хэш-код объекта. Каждый объект в Kotlin имеет свой хэш-код, который используется в различных структурах данных, таких как HashSet, HashMap и других хэш-таблицах для эффективного хранения и поиска объектов. По умолчанию функция возвращает значение, основанное на адресе объекта в памяти, но может быть переопределена в пользовательских классах.

Синтаксис

open fun hashCode(): Int

Пример

Получим хэш-код строки:

val str = "abcde" val res = str.hashCode() println(res)

Результат выполнения кода:

Int 92599395

Пример

Получим хэш-код числа:

val num = 12345 val res = num.hashCode() println(res)

Результат выполнения кода:

Int 12345

Пример

Сравним хэш-коды двух одинаковых строк:

val str1 = "abcde" val str2 = "abcde" val res1 = str1.hashCode() val res2 = str2.hashCode() println(res1 == res2)

Результат выполнения кода:

Boolean true

Пример

Переопределим функцию hashCode в пользовательском классе:

class Person(val name: String, val age: Int) { override fun hashCode(): Int { var result = name.hashCode() result = 31 * result + age return result } } val person = Person("John", 25) val res = person.hashCode() println(res)

Результат выполнения кода:

Int 105878145

Пример

Проверим работу хэш-кода в HashSet:

val set = HashSet<String>() set.add("abcde") set.add("abcde") println(set.size)

Результат выполнения кода:

Int 1

Смотрите также

  • функцию equals,
    которая сравнивает объекты на равенство
  • функцию toString,
    которая возвращает строковое представление объекта
  • класс Any,
    который является корневым суперклассом для всех классов Kotlin
  • интерфейс HashMap,
    который использует хэш-коды для хранения пар ключ-значение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить