V tomto programe sa naučíte triediť danú mapu podľa hodnôt v Kotline.
Príklad: Zoraďte mapu podľa hodnôt
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 spustení programu bude výstup:
Kľúč: Austrália Hodnota: Canberra Kľúč: Nepál Hodnota: Káthmandu Kľúč: Anglicko Hodnota: Londýn Kľúč: India Hodnota: Nové Dillí Kľúč: USA Hodnota: Washington
Vo vyššie uvedenom programe máme HashMap
krajiny s príslušnými hlavnými mestami uložené v rôznych veľkostiach.
Na zoradenie mapy používame sériu operácií vykonaných v jednom riadku:
výsledok výsledku = capitals.toList (). seřazenéBy ((_, hodnota) -> hodnota) .toMap ()
- Najskôr sa veľké písmená skonvertujú na zoznam pomocou
toList()
. - Potom
sortedBy()
sa používa na triedenie zoznamu podľa hodnoty( (_, value) -> value)
. Používame_
pre kľúč, pretože ho nepoužívame na triedenie. - Nakoniec ho prevedieme späť na mapu pomocou
toMap()
a uložíme do výsledku.
Tu je ekvivalentný kód Java: Program Java na triedenie mapy podľa hodnôt.