English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Programación en Kotlin por valor de Map

Colección completa de ejemplos de Kotlin

En este programa, aprenderás a ordenar un map proporcionado por valor en Kotlin.

Ejemplo: Ordenar map por valor

fun main(args: Array<String>) {
    var capitals = hashMapOf<String, String>()
    capitals.put("Nepal", "Kathmandu")
    capitals.put("India", "Nueva Delhi")
    capitals.put("Estados Unidos", "Washington")
    capitals.put("Inglaterra", "Londres")
    capitals.put("Australia", "Canberra")
    val result = capitals.toList().sortedBy { (_, value)} ->{value}.toMap()
    for (entry in result) {
        print("Clave: " + entry.key)
        println("Valor: " + entry.value)
    }
}

Al ejecutar este programa, la salida será:

Clave: Australia Valor: Canberra
Clave: Nepal Valor: Kathmandu
Clave: Inglaterra Valor: Londres
Clave: India Valor: Nueva Delhi
Clave: Estados Unidos Valor: Washington

En el programa anterior, tenemos un HashMap que almacena los países y sus capitales en un capitals mutable.

Para ordenar el map, utilizamos una serie de operaciones realizadas en una línea:

val result = capitals.toList().sortedBy { (_, value)} ->{value}.toMap()
  • Primero, usamos toList() para convertir capitals a una lista.

  • Luego, sortedBy() se utiliza para ordenar por valor {(_, value)}-Ordenar lista por {value} usando _. Como no lo utilizamos para ordenar, usamos _.

  • Finalmente, usamos toMap() para convertirlo de nuevo a map y lo almacenamos en result.

A continuación, se muestra el código Java equivalente:Programa Java de ordenación de map por valor

Colección completa de ejemplos de Kotlin