English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Programm lernen Sie, wie Sie in Kotlin ein gegebenes Map nach Wert sortieren.
fun main(args: Array<String>) { var capitals = hashMapOf<String, String>() 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("Schlüssel: " + entry.key) println(" Wert: " + entry.value) } }
Wenn das Programm ausgeführt wird, lautet die Ausgabe:
Schlüssel: Australia Wert: Canberra Schlüssel: Nepal Wert: Kathmandu Schlüssel: England Wert: London Schlüssel: India Wert: New Delhi Schlüssel: United States Wert: Washington
Im obigen Programm haben wir eine HashMap, die Länder und ihre jeweiligen Hauptstädte in einem variablen capitals speichert.
Um das Map zu sortieren, verwenden wir eine Reihe von Operationen, die in einer Zeile ausgeführt werden:
val result = capitals.toList().sortedBy { (_, value)} -> value}.toMap()
Zunächst wirdtoList() verwendet, um capitals in eine Liste zu konvertieren.
Dann wird sortedBy() verwendet, um nach Wert {(_,value)-> value} Listen sortieren. Wir verwenden _ als Schlüssel, weil wir ihn nicht zum Sortieren verwenden.
Schließlich verwenden wir toMap(), um es zurück in eine Map zu konvertieren und in result zu speichern.
Hier ist das äquivalente Java-Code:Java-Programm sortiert Map nach Wert。