to Sorted Map
Начиная с Kotlin: 1.0
fun <K : Comparable<K>, V> Map<out K, V>.toSortedMap(): SortedMap<K, V>
Преобразует эту Map в SortedMap. Полученная SortedMap определяет равенство и порядок ключей в соответствии с их естественным порядком сортировки.
Обратите внимание: если естественный порядок сортировки ключей считает какие-либо два ключа этой map равными (это может произойти, если равенство ключей согласно Comparable.compareTo не согласуется с равенством согласно Any.equals), в результирующую map попадёт только значение, связанное с последним из них.
Примеры
import kotlin.test.*
import java.util.*
fun main() {
//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 считает какие-либо два ключа этой map равными, в результирующую map попадёт только значение, связанное с последним из них.
Примеры
import kotlin.test.*
import java.util.*
fun main() {
//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–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/to-sorted-map.html