В зависимости от ожидаемого типа выходного набора (SortedMap
s отсортированы по ключам), вы можете использовать что-то вроде этого:
Map("foo"->3, "raise"->1, "the"->2, "bar"->4).toList sortBy {_._2}
Результатом будет список пар ключ / значение, отсортированных по значению:
List[(java.lang.String, Int)] = List((raise,1), (the,2), (foo,3), (bar,4))
Существует тип карты, который сохраняет исходный порядок, ListMap
, если вы примените это, у вас снова будет карта:
import collection.immutable.ListMap
ListMap(Map("foo"->3, "raise"->1, "the"->2, "bar"->4).toList.sortBy{_._2}:_*)
Тогда у вас есть:
scala.collection.immutable.ListMap[java.lang.String,Int] = Map((raise,1), (the,2), (foo,3), (bar,4))
(Scala 2.8)