Функция compareTo

Функция compareTo сравнивает две строки лексикографически (по алфавитному порядку) и возвращает целое число. Если текущая строка меньше строки в параметре, возвращается отрицательное число. Если строки равны, возвращается 0. Если текущая строка больше строки в параметре, возвращается положительное число.

Синтаксис

kotlinfun String.compareTo(other: String): Int
kotlinfun String.compareTo(other: String, ignoreCase: Boolean = false): Int

Пример

Сравним две строки "apple" и "banana":

kotlinval str1 = "apple"
val str2 = "banana"
val res = str1.compareTo(str2)
println(res)

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

kotlinInt -1

Пример

Сравним две одинаковые строки "hello":

kotlinval str1 = "hello"
val str2 = "hello"
val res = str1.compareTo(str2)
println(res)

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

kotlinInt 0

Пример

Сравнение с учетом регистра (по умолчанию):

kotlinval str1 = "Apple"
val str2 = "apple"
val res = str1.compareTo(str2)
println(res)

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

kotlinInt -32

Пример

Сравнение без учета регистра:

kotlinval str1 = "Apple"
val str2 = "apple"
val res = str1.compareTo(str2, ignoreCase = true)
println(res)

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

kotlinInt 0

Пример

Использование compareTo для сортировки массива строк:

kotlinval words = arrayOf("banana", "apple", "cherry")

val sortedWords = words.sortedWith { a, b -> a.compareTo(b) }
println(sortedWords)

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

kotlinArray<String> ['apple', 'banana', 'cherry']

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

  • функцию equals,
    которая проверяет строки на равенство
  • функцию startsWith,
    которая проверяет начинается ли строка с указанной подстроки
  • функцию endsWith,
    которая проверяет заканчивается ли строка указанной подстрокой
  • функцию contains,
    которая проверяет содержит ли строка указанную подстроку