In diesem Programm lernen Sie, eine bestimmte Karte nach Werten in Kotlin zu sortieren.
Beispiel: Sortieren Sie eine Karte nach Werten
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) ) )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Schlüssel: Australien Wert: Canberra Schlüssel: Nepal Wert: Kathmandu Schlüssel: England Wert: London Schlüssel: Indien Wert: New Delhi Schlüssel: USA Wert: Washington
Im obigen Programm haben wir ein HashMap
mit Ländern und ihren jeweiligen Hauptstädten in variablen Hauptstädten gespeichert.
Um die Karte zu sortieren, verwenden wir eine Reihe von Operationen, die in einer einzigen Zeile ausgeführt werden:
val result = capitals.toList (). sortiert durch ((_, Wert) -> Wert) .toMap ()
- Zunächst werden Großbuchstaben mit in eine Liste konvertiert
toList()
. - Wird
sortedBy()
dann verwendet, um die Liste nach Wert zu sortieren( (_, value) -> value)
. Wir verwenden_
für Schlüssel, weil wir ihn nicht zum Sortieren verwenden. - Schließlich konvertieren wir es wieder in eine Karte
toMap()
und speichern es im Ergebnis.
Hier ist der entsprechende Java-Code: Java-Programm zum Sortieren einer Karte nach Werten.