Comment triez-vous un scala.collection.Map [java.lang.String, Int] par ses valeurs (donc sur l'Int)? Quelle est une manière courte et élégante de faire cela?comment trier un scala.collection.Map [java.lang.String, Int] par ses valeurs?
33
A
Répondre
55
En fonction de ce type de collecte de sortie prévue est (SortedMap
s sont classés sur les touches), vous pouvez utiliser quelque chose comme ceci:
Map("foo"->3, "raise"->1, "the"->2, "bar"->4).toList sortBy {_._2}
Résultat serait la liste des paires clé/valeur triés par ordre alphabétique valeur:
List[(java.lang.String, Int)] = List((raise,1), (the,2), (foo,3), (bar,4))
Il y a un type de carte qui conserve l'ordre original, ListMap
, si vous appliquez cela, vous avez une carte à nouveau:
import collection.immutable.ListMap
ListMap(Map("foo"->3, "raise"->1, "the"->2, "bar"->4).toList.sortBy{_._2}:_*)
Ensuite, vous avez:
scala.collection.immutable.ListMap[java.lang.String,Int] = Map((raise,1), (the,2), (foo,3), (bar,4))
(Scala 2,8)
Questions connexes
- 1. PHP: Trier un tableau par la longueur de ses valeurs?
- 2. Comment trier un treemap en fonction de ses valeurs?
- 3. Comment trier un tableau multidimensionnel en fonction de ses éléments et de ses valeurs?
- 4. Ruby Trier par valeurs multiples?
- 5. Comment trier les modèles par valeurs dans un dictionnaire?
- 6. carte <int,int> valeurs par défaut
- 7. Comment évaluez-vous un java.lang.String dans clojure
- 8. Comment trier un NSArray par NSSortDiscriptor?
- 9. Trier QMap <QString, int>
- 10. java.lang.String en jndi contexte par défaut avec Apache Geronimo - Comment?
- 11. tri Liste <Class> par un de ses variables
- 12. Comment trier un NSArray par ordre alphabétique?
- 13. Comment trier un PHP par date
- 14. Comment trier un XDocument par attribut?
- 15. Comment trier un tableau multidimensionnel par valeur?
- 16. Comment concaténer des valeurs int dans java?
- 17. Trier un DataGridView par DisplayMember
- 18. Trier par les valeurs de la table de hachage - Ruby
- 19. Comment puis-je récupérer un hash ref d'un tableau de hachages par l'une de ses valeurs?
- 20. Matlab: traiter java.lang.String
- 21. C#: trier le dictionnaire par ordre décroissant
- 22. Comment trier un vecteur basé sur les valeurs d'un autre
- 23. Comment trier les données en valeurs alphanumériques
- 24. Trier les objets par des valeurs booléennes dans Ruby
- 25. Groovy: trier les clés de hachage par valeurs valeur
- 26. comment je fais ajouter toutes les valeurs de ce tableau multidimensionnel ou le transformer en un tableau par ses valeurs
- 27. Trier une liste des dicts par des valeurs dict
- 28. Comment puis-je trier une carte par son paramètre .second
- 29. Faire défiler les valeurs int
- 30. Bubble parallèle trier par OpenMP
+10, sérieusement utile, ListeCarte préserve l'ordre post-List tri – virtualeyes
Qu'en est-ordre décroissant? – vefthym
@vefthym 'Map (" foo "-> 3," raise "-> 1," the "-> 2," barre "-> 4) .toList sortWith {_._ 2> _._ 2}' –