Selles programmis õpite Kotlinis antud kaarti väärtuste järgi sortima.
Näide: sortige kaart väärtuste järgi
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) ) )
Programmi käivitamisel on väljund järgmine:
Võti: Austraalia väärtus: Canberra võti: Nepal väärtus: Katmandu võti: Inglismaa väärtus: Londoni võti: India väärtus: New Delhi võti: Ameerika Ühendriigid väärtus: Washington
Eespool nimetatud programmis on meil HashMap
riigid ja nende vastavad pealinnad salvestatud muutuvasse pealinna.
Kaardi sortimiseks kasutame ühe reaga sooritatud toimingute rida:
val tulemus = suurtähed.loendisse (). sortedBy ((_, väärtus) -> väärtus). kaardile ()
- Esiteks teisendatakse suurtähed loendiks, kasutades
toList()
. - Seejärel
sortedBy()
kasutatakse loendi sortimiseks väärtuse järgi( (_, value) -> value)
. Me kasutame_
võtit, kuna me ei kasuta seda sortimiseks. - Lõpuks teisendame selle tagasi kaardiks, kasutades seda
toMap()
ja salvestame tulemuse.
Siin on samaväärne Java-kood: Java-kaart kaartide sortimiseks väärtuste järgi.