Agrupar y ordenar en Kotlin
Ordena una lista por cualquier clave, o cubetéala por una.
fun main() {
val summits = listOf(
"Tolmie" to 1408, "Brier" to 980, "Sawback" to 2214,
"Quartz" to 2590, "Meadow" to 760,
)
// sortedByDescending orders; groupBy buckets by a computed key.
val ranked = summits.sortedByDescending { it.second }
println("Highest: ${ranked.first().first}")
val byBand = summits.groupBy { (_, m) -> m / 1000 }
println("Under 1000 m: ${byBand[0]?.map { it.first }}")
println("Above 2000 m: ${byBand[2]?.size}")
}
Cómo funciona
sortedByDescending { it.second }clasifica las cumbres por altura.groupByarma un map de clave calculada a las entradas que la comparten.byBand[0]?.map { ... }lee con seguridad una cubeta que puede no existir.
Palabras clave y builtins usados aquí
funitval
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 442
- Tokens
- 136
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 126 segundos.
Paso 3 de 3 en Colecciones; paso 12 de 27 en Fundamentos del lenguaje.