sortWith
fun <T> Array<out T>.sortWith(comparator: Comparator<in T>)
Сортирует массив на месте в соответствии с порядком, заданным заданным компаратором.
Сортировка стабильна. Это означает, что равные элементы сохраняют свой порядок относительно друг друга после сортировки.
fun <T> Array<out T>.sortWith( comparator: Comparator<in T>, fromIndex: Int = 0, toIndex: Int = size)
Сортирует диапазон в массиве на месте с помощью заданного компаратора.
Сортировка стабильна. Это означает, что равные элементы сохраняют свой порядок относительно друг друга после сортировки.
Параметры
fromIndex - начало диапазона (включительно) для сортировки, по умолчанию 0.
toIndex - конец диапазона (исключительно) для сортировки, по умолчанию размер этого массива.
Исключения
IndexOutOfBoundsException - если fromIndex меньше нуля или toIndex больше размера этого массива.
IllegalArgumentException - если fromIndex больше, чем toIndex.
fun <T> MutableList<T>.sortWith(comparator: Comparator<in T>)
Сортирует элементы в списке на месте в соответствии с порядком, заданным с помощью компаратора.
Сортировка стабильна. Это означает, что равные элементы сохраняют свой порядок относительно друг друга после сортировки.
fun <T> Array<out T>.sortWith(comparator: Comparator<in T>)
Сортирует массив на месте в соответствии с порядком, заданным заданным компаратором.
Сортировка стабильна. Это означает, что равные элементы сохраняют свой порядок относительно друг друга после сортировки.
fun <T> Array<out T>.sortWith( comparator: Comparator<in T>, fromIndex: Int = 0, toIndex: Int = size)
Сортирует диапазон в массиве на месте с помощью заданного компаратора.
Сортировка стабильна. Это означает, что равные элементы сохраняют свой порядок относительно друг друга после сортировки.
Параметры
fromIndex - начало диапазона (включительно) для сортировки, по умолчанию 0.
toIndex - конец диапазона (исключительно) для сортировки, по умолчанию размер этого массива.
Исключения
IndexOutOfBoundsException - если fromIndex меньше нуля или toIndex больше размера этого массива.
IllegalArgumentException - если fromIndex больше, чем toIndex.
fun <T> MutableList<T>.sortWith(comparator: Comparator<in T>)
Сортирует элементы в списке на месте в соответствии с порядком, заданным с помощью компаратора.
Сортировка стабильна. Это означает, что равные элементы сохраняют свой порядок относительно друг друга после сортировки.
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
// non-comparable class
class Person(val firstName: String, val lastName: String) {
override fun toString(): String = "$firstName $lastName"
}
val people = mutableListOf(
Person("Ragnar", "Lodbrok"),
Person("Bjorn", "Ironside"),
Person("Sweyn", "Forkbeard")
)
people.sortWith(compareByDescending { it.firstName })
// after sorting
println(people.joinToString()) // Sweyn Forkbeard, Ragnar Lodbrok, Bjorn Ironside
//sampleEnd
}
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sort-with.html