In questo programma imparerai a ordinare una data mappa per valori in Kotlin.
Esempio: ordina una mappa per valori
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) ) )
Quando esegui il programma, l'output sarà:
Chiave: Australia Valore: Canberra Chiave: Nepal Valore: Kathmandu Chiave: Inghilterra Valore: Londra Chiave: India Valore: Nuova Delhi Chiave: Stati Uniti Valore: Washington
Nel programma di cui sopra, abbiamo una HashMap
con i paesi e le rispettive capitali memorizzate in una variabile maiuscole.
Per ordinare la mappa, utilizziamo una serie di operazioni eseguite in una singola riga:
val risultato = capitals.toList (). SortBy ((_, value) -> value) .toMap ()
- Innanzitutto, le maiuscole vengono convertite in un elenco utilizzando
toList()
. - Quindi,
sortedBy()
viene utilizzato per ordinare l'elenco in base al valore( (_, value) -> value)
. Usiamo_
per la chiave perché non la usiamo per l'ordinamento. - Infine, lo convertiamo di nuovo in mappa utilizzando
toMap()
e lo memorizziamo nel risultato.
Ecco il codice Java equivalente: programma Java per ordinare una mappa in base ai valori.