Функция 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
,
которая проверяет содержит ли строка указанную подстроку