¿Cómo ordenaría un scala.collection.Map [java.lang.String, Int] por sus valores (por lo que en el Int)? ¿Cuál es una manera corta y elegante de hacer eso?cómo ordenar un scala.collection.Map [java.lang.String, Int] por sus valores?
33
A
Respuesta
55
Dependiendo de qué tipo de recogida resultado esperado es (SortedMap
s se clasifican en las teclas), se puede usar algo como esto:
Map("foo"->3, "raise"->1, "the"->2, "bar"->4).toList sortBy {_._2}
El resultado sería la lista de pares clave/valor ordenados por el valor:
List[(java.lang.String, Int)] = List((raise,1), (the,2), (foo,3), (bar,4))
Hay un tipo de mapa que se conserva el orden original, ListMap
, si se aplica esto, usted tiene un mapa de nuevo:
import collection.immutable.ListMap
ListMap(Map("foo"->3, "raise"->1, "the"->2, "bar"->4).toList.sortBy{_._2}:_*)
Entonces usted tiene:
scala.collection.immutable.ListMap[java.lang.String,Int] = Map((raise,1), (the,2), (foo,3), (bar,4))
(Scala 2,8)
Cuestiones relacionadas
- 1. Ordenar elementos en un hash anidado por sus valores
- 2. ¿Cómo ordenar un treemap basado en sus valores?
- 3. Ruby ordenar por valores múltiples?
- 4. Ordenar Guava Multimap por número de valores
- 5. Comparando cadenas largas por sus valores hash
- 6. ¿Cómo se divide un int en sus dígitos?
- 7. ¿Cómo ordenar un QTableView por una columna?
- 8. ¿Cómo puedo ordenar un std :: vector por los valores de un std :: vector diferente?
- 9. Ordenar NSArray de objetos personalizados por sus propiedades NSDate
- 10. Ordenar una lista de dicts por dict valores
- 11. Ordenar una lista de tuplas por sus segundos elementos
- 12. ¿Cómo puedo ordenar un mapa por su .segundo parámetro
- 13. Ordenar un Dictionary <int, Lista <int>> mediante las teclas + valores de lista dentro de
- 14. Ordenar con valores numéricos
- 15. ¿Cómo ordenar una búsqueda?
- 16. ¿Cómo puedo ordenar un mapa STL por valor?
- 17. ¿Cómo puedo obtener un java.io.InputStream desde un java.lang.String?
- 18. Cómo ordenar valores a través de XPath
- 19. Usando conteo Ordenar en valores negativos?
- 20. ¿Cómo puedo ordenar un XDocument por atributo?
- 21. Java: cómo obtener valores int individuales de int [] []
- 22. Ordenar hachís por la longitud de los valores contenidos
- 23. Cómo concatenar valores int en java?
- 24. Ordenar por dos valores priorizando en uno de ellos
- 25. No se puede Mariscal java.lang.String
- 26. map <int,int> valores predeterminados
- 27. Obtener las claves de NSDictionary ordenadas por sus respectivos valores
- 28. Lucene.NET - ordenando por int
- 29. En Perl, ¿cómo puedo ordenar por frecuencia de un valor?
- 30. Ordenar una lista de valores predice por dict
+10, en serio útil, ListaMapa preserva el orden post-Lista-tipo – virtualeyes
¿qué pasa con orden descendente? – vefthym
@vefthym 'Mapa (" foo "-> 3," raise "-> 1," the "-> 2," bar "-> 4) .toList sortWith {_._ 2> _._ 2}' –