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

Функция hashCode

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

Синтаксис

fun hashCode(): Int

Пример

Получим хэш-код для StringBuilder с содержимым "abcde":

val sb = StringBuilder("abcde") val res: Int = sb.hashCode() println(res)

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

Int 92599395

Пример

Покажем, что хэш-код изменяется при модификации содержимого:

val sb = StringBuilder("abcde") val hash1: Int = sb.hashCode() sb.append("123") val hash2: Int = sb.hashCode() println("First hash: $hash1") println("Second hash: $hash2")

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

First hash: 92599395 Second hash: -1424374354

Пример

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

val sb1 = StringBuilder("abcde") val sb2 = StringBuilder("abcde") val hash1: Int = sb1.hashCode() val hash2: Int = sb2.hashCode() println("Hash1: $hash1") println("Hash2: $hash2") println("Hashes equal: ${hash1 == hash2}")

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

Hash1: 92599395 Hash2: 92599395 Hashes equal: true

Пример

Покажем различие хэш-кодов для разных содержимых:

val sb1 = StringBuilder("abcde") val sb2 = StringBuilder("12345") val hash1: Int = sb1.hashCode() val hash2: Int = sb2.hashCode() println("Hash1: $hash1") println("Hash2: $hash2") println("Hashes equal: ${hash1 == hash2}")

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

Hash1: 92599395 Hash2: 1452122402 Hashes equal: false

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

  • функцию equals,
    которая сравнивает содержимое StringBuilder
  • функцию toString,
    которая преобразует StringBuilder в строку
  • функцию compareTo,
    которая сравнивает два StringBuilder лексикографически
  • функцию length,
    которая возвращает длину содержимого StringBuilder
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить