Spec-Zone.ru › Kotlin 2

toSortedMap

kotlin-stdlib/kotlin.collections/toSortedMap

Начиная с 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API