I dette programmet lærer du å sortere et gitt kart etter verdier i Kotlin.
Eksempel: Sorter et kart etter verdier
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 kjører programmet, vil utdataene være:
Nøkkel: Australia Verdi: Canberra Nøkkel: Nepal Verdi: Kathmandu Nøkkel: England Verdi: London Nøkkel: India Verdi: New Delhi Nøkkel: USA Verdi: Washington
I programmet ovenfor har vi a HashMap
med land og deres respektive hovedsteder lagret i en variabel hovedstad.
For å sortere kartet bruker vi en rekke operasjoner utført i en enkelt linje:
val result = capitals.toList (). sortedBy ((_, value) -> value) .toMap ()
- Først konverteres hovedsteder til en liste ved hjelp av
toList()
. - Deretter
sortedBy()
brukes til å sortere listen etter verdi( (_, value) -> value)
. Vi bruker_
for nøkkel fordi vi ikke bruker den til sortering. - Til slutt konverterer vi det tilbake til kart ved hjelp av
toMap()
og lagrer det i resultat.
Her er ekvivalent Java-kode: Java-program for å sortere et kart etter verdier.