Kotlin-ohjelma kartan lajittelemiseksi arvojen mukaan

Tässä ohjelmassa opit lajittelemaan tietyn kartan Kotlinin arvojen mukaan.

Esimerkki: Lajittele kartta arvojen mukaan

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

Kun suoritat ohjelmaa, tulos on:

 Avain: Australia Arvo: Canberra-avain: Nepal-arvo: Kathmandu-avain: Englanti Arvo: Lontoon avain: Intia Arvo: New Delhi-avain: Yhdysvallat Arvo: Washington

Yllä olevassa ohjelmassa meillä on HashMapmaat ja niiden pääkaupungit, jotka on tallennettu muuttuviin pääkaupungeihin.

Kartan lajittelemiseen käytämme sarjaa toimintoja, jotka suoritetaan yhdellä rivillä:

 val tulos = isot kirjaimet.Listalle (). sortedBy ((_, arvo) -> arvo). kartalle ()
  • Ensin isot kirjaimet muunnetaan luetteloksi käyttämällä toList().
  • Sitten sortedBy()sitä käytetään lajittelemaan luettelo arvon mukaan ( (_, value) -> value). Käytämme _avainta, koska emme käytä sitä lajitteluun.
  • Lopuksi muunnamme sen takaisin kartaksi käyttämällä toMap()ja tallentamalla sen tulokseen.

Tässä on vastaava Java-koodi: Java-ohjelma kartan lajittelemiseksi arvojen mukaan.

Mielenkiintoisia artikkeleita...