Функция compareTo
Функция compareTo сравнивает две строки лексикографически
(по алфавитному порядку) и возвращает целое число.
Если текущая строка меньше строки в параметре, возвращается отрицательное число.
Если строки равны, возвращается 0.
Если текущая строка больше строки в параметре, возвращается положительное число.
Синтаксис
fun String.compareTo(other: String): Int
fun String.compareTo(other: String, ignoreCase: Boolean = false): Int
Пример
Сравним две строки "apple" и "banana":
val str1 = "apple"
val str2 = "banana"
val res = str1.compareTo(str2)
println(res)
Результат выполнения кода:
Int -1
Пример
Сравним две одинаковые строки "hello":
val str1 = "hello"
val str2 = "hello"
val res = str1.compareTo(str2)
println(res)
Результат выполнения кода:
Int 0
Пример
Сравнение с учетом регистра (по умолчанию):
val str1 = "Apple"
val str2 = "apple"
val res = str1.compareTo(str2)
println(res)
Результат выполнения кода:
Int -32
Пример
Сравнение без учета регистра:
val str1 = "Apple"
val str2 = "apple"
val res = str1.compareTo(str2, ignoreCase = true)
println(res)
Результат выполнения кода:
Int 0
Пример
Использование compareTo для сортировки массива строк:
val words = arrayOf("banana", "apple", "cherry")
val sortedWords = words.sortedWith { a, b -> a.compareTo(b) }
println(sortedWords)
Результат выполнения кода:
Array<String> ['apple', 'banana', 'cherry']
Смотрите также
-
функцию
equals,
которая проверяет строки на равенство -
функцию
startsWith,
которая проверяет начинается ли строка с указанной подстроки -
функцию
endsWith,
которая проверяет заканчивается ли строка указанной подстрокой -
функцию
contains,
которая проверяет содержит ли строка указанную подстроку