Dans ce programme, vous apprendrez à trier une carte donnée par valeurs dans Kotlin.
Exemple: trier une carte par valeurs
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) ) )
Lorsque vous exécutez le programme, la sortie sera:
Clé: Australie Valeur: Canberra Clé: Népal Valeur: Kathmandu Clé: Angleterre Valeur: Londres Clé: Inde Valeur: New Delhi Clé: États-Unis Valeur: Washington
Dans le programme ci-dessus, nous avons un HashMap
avec les pays et leurs capitales respectives stockées dans des capitales variables.
Pour trier la carte, nous utilisons une série d'opérations exécutées sur une seule ligne:
val result = capitals.toList (). sortedBy ((_, value) -> value) .toMap ()
- Tout d'abord, les majuscules sont converties en une liste à l'aide de
toList()
. - Ensuite,
sortedBy()
est utilisé pour trier la liste par valeur( (_, value) -> value)
. Nous utilisons_
pour la clé parce que nous ne l'utilisons pas pour le tri. - Enfin, nous le reconvertissons en carte en utilisant
toMap()
et le stockons dans le résultat.
Voici le code Java équivalent: programme Java pour trier une carte par valeurs.