Program Kotlin pro třídění mapy podle hodnot

V tomto programu se naučíte třídit danou mapu podle hodnot v Kotlin.

Příklad: Řazení mapy podle hodnot

 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) ) )

Když spustíte program, výstup bude:

 Klíč: Austrálie Hodnota: Canberra Klíč: Nepál Hodnota: Káthmándú Klíč: Anglie Hodnota: Londýn Klíč: Indie Hodnota: Nové Dillí Klíč: USA Hodnota: Washington

Ve výše uvedeném programu máme a HashMapse zeměmi a jejich příslušnými hlavními městy uloženými v proměnných hlavních městech.

K seřazení mapy používáme řadu operací prováděných v jednom řádku:

 výsledek val = capitals.toList (). seřazenoBy ((_, hodnota) -> hodnota) .toMap ()
  • Nejprve se velká písmena převedou na seznam pomocí toList().
  • Potom sortedBy()se používá k seřazení seznamu podle hodnoty ( (_, value) -> value). Používáme _pro klíč, protože ho nepoužíváme pro třídění.
  • Nakonec jej převedeme zpět na mapu pomocí toMap()a uložíme do výsledku.

Tady je ekvivalentní kód Java: Program Java pro třídění mapy podle hodnot.

Zajímavé články...