W tym programie nauczysz się sortować daną mapę według wartości w Kotlinie.
Przykład: Sortuj mapę według wartości
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) ) )
Po uruchomieniu programu wynik będzie następujący:
Klucz: Australia Wartość: Canberra Klucz: Nepal Wartość: Kathmandu Klucz: Anglia Wartość: Londyn Klucz: Indie Wartość: New Delhi Klucz: Stany Zjednoczone Wartość: Waszyngton
W powyższym programie mamy HashMap
z krajami i ich odpowiednimi stolicami zapisanymi w postaci różnych liter.
Aby posortować mapę, używamy serii operacji wykonywanych w jednej linii:
val result = capitals.toList (). sortBy ((_, wartość) -> wartość) .toMap ()
- Najpierw wielkie litery są konwertowane na listę przy użyciu
toList()
. - Następnie
sortedBy()
służy do sortowania listy według wartości( (_, value) -> value)
. Używamy_
klucza, ponieważ nie używamy go do sortowania. - Na koniec konwertujemy go z powrotem na mapę za pomocą
toMap()
i przechowujemy w wyniku.
Oto odpowiednik kodu w języku Java: program w języku Java do sortowania mapy według wartości.