I det här programmet lär du dig att sortera en given karta efter värden i Kotlin.
Exempel: Sortera en karta efter värden
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ör programmet blir resultatet:
Nyckel: Australien Värde: Canberra Nyckel: Nepal Värde: Katmandu Nyckel: England Värde: London Nyckel: Indien Värde: New Delhi Nyckel: USA Värde: Washington
I programmet ovan har vi a HashMap
med länder och deras respektive huvudstäder lagrade i variabla huvudstäder.
För att sortera kartan använder vi en serie åtgärder som utförs i en rad:
valresultat = versaler.toList (). sortedBy ((_, värde) -> värde) .toMap ()
- Först konverteras huvudstäder till en lista med
toList()
. - Sedan
sortedBy()
används för att sortera listan i värde( (_, value) -> value)
. Vi använder_
för nyckel eftersom vi inte använder den för sortering. - Slutligen konverterar vi den tillbaka till kartan med
toMap()
och lagrar den i resultat.
Här är motsvarande Java-kod: Java-program för att sortera en karta efter värden.