toSortedMap
fun <K : Comparable<K>, V> Map<out K, V>.toSortedMap(): SortedMap<K, V>
Преобразует этот Map в SortedMap. Полученный SortedMap определяет равенство и порядок ключей в соответствии с их естественным порядком сортировки.
Обратите внимание, что если естественный порядок сортировки ключей считает любые два ключа этой карты равными (это может произойти, если равенство ключей в соответствии с Comparable.compareTo не соответствует равенству в соответствии с Any.equals), только значение, связанное с последним из них, попадает в результирующую карту.
import kotlin.test.*
import java.util.*
fun main(args: Array<String>) {
//sampleStart
val map = mapOf(Pair("c", 3), Pair("b", 2), Pair("d", 1))
val sorted = map.toSortedMap()
println(sorted.keys) // [b, c, d]
println(sorted.values) // [2, 3, 1]
//sampleEnd
}fun <K, V> Map<out K, V>.toSortedMap( comparator: Comparator<in K> ): SortedMap<K, V>
Преобразует этот Map в SortedMap. Полученный SortedMap определяет равенство и порядок ключей в соответствии с порядком сортировки, заданным предоставленным компаратором.
Обратите внимание, что если comparator считает любые два ключа этой карты равными, только значение, связанное с последним из них, попадает в результирующую карту.
import kotlin.test.*
import java.util.*
fun main(args: Array<String>) {
//sampleStart
val map = mapOf(Pair("abc", 1), Pair("c", 3), Pair("bd", 4), Pair("bc", 2))
val sorted = map.toSortedMap(compareBy<String> { it.length }.thenBy { it })
println(sorted.keys) // [c, bc, bd, abc]
//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/to-sorted-map.html