En este programa, aprenderá a ordenar un mapa dado por valores en Kotlin.
Ejemplo: ordenar un mapa por valores
fun main(args: Array) ( var capitals = hashMapOf() capitals.put("Nepal", "Kathmandu") capitals.put("India", "New Delhi") capitals.put("United States", "Washington") capitals.put("England", "London") capitals.put("Australia", "Canberra") val result = capitals.toList().sortedBy ( (_, value) -> value).toMap() for (entry in result) ( print("Key: " + entry.key) println(" Value: " + entry.value) ) )
Cuando ejecute el programa, la salida será:
Clave: Australia Valor: Canberra Clave: Nepal Valor: Katmandú Clave: Inglaterra Valor: Londres Clave: India Valor: Nueva Delhi Clave: Estados Unidos Valor: Washington
En el programa anterior, tenemos un HashMap
con países y sus respectivos capitales almacenados en un capital variable.
Para ordenar el mapa utilizamos una serie de operaciones ejecutadas en una sola línea:
val resultado = capitals.toList (). sortedBy ((_, valor) -> valor) .toMap ()
- Primero, las mayúsculas se convierten en una lista usando
toList()
. - Luego,
sortedBy()
se usa para ordenar la lista por valor( (_, value) -> value)
. Usamos_
para clave porque no lo usamos para ordenar. - Finalmente, lo convertimos de nuevo a mapa
toMap()
y lo almacenamos como resultado.
Aquí está el código Java equivalente: programa Java para ordenar un mapa por valores.