Функция 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