I dette program lærer du at sortere et givet kort efter værdier i Kotlin.
Eksempel: Sorter et kort efter værdier
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) ) )
Når du kører programmet, vil output være:
Nøgle: Australien Værdi: Canberra Nøgle: Nepal Værdi: Kathmandu Nøgle: England Værdi: London Nøgle: Indien Værdi: New Delhi Nøgle: USA Værdi: Washington
I ovenstående program har vi en HashMap
med lande og deres respektive hovedstæder gemt i en variabel hovedstad.
For at sortere kortet bruger vi en række operationer udført i en enkelt linje:
val result = capitals.toList (). sortedBy ((_, value) -> value) .toMap ()
- For det første konverteres hovedstæder til en liste ved hjælp af
toList()
. - Derefter
sortedBy()
bruges til at sortere listen efter værdi( (_, value) -> value)
. Vi bruger_
til nøgle, fordi vi ikke bruger den til sortering. - Endelig konverterer vi det tilbage til kort ved hjælp af
toMap()
og gemmer det i resultat.
Her er den tilsvarende Java-kode: Java-program til at sortere et kort efter værdier.