jak posortować scalę.kolekcja.Mapa [Jawa.lang.String, Int] według jego wartości?
Jak posortować scalę?kolekcja.Mapa [Jawa.lang.String, Int] przez jego wartości(tak na Int)? Co to jest krótki i elegancki sposób, aby to zrobić?
33
Author: Eugene Yokota, 2010-06-04
1 answers
W zależności od oczekiwanego typu kolekcji wyjściowej (SortedMap
S są sortowane na kluczach), możesz użyć czegoś takiego:
Map("foo"->3, "raise"->1, "the"->2, "bar"->4).toList sortBy {_._2}
Wynikiem będzie lista par klucz / wartość posortowana według wartości:
List[(java.lang.String, Int)] = List((raise,1), (the,2), (foo,3), (bar,4))
Istnieje typ mapy, który zachowuje pierwotną kolejność, ListMap
, jeśli zastosujesz to, masz mapę ponownie:
import collection.immutable.ListMap
ListMap(Map("foo"->3, "raise"->1, "the"->2, "bar"->4).toList.sortBy{_._2}:_*)
Wtedy masz:
scala.collection.immutable.ListMap[java.lang.String,Int] = Map((raise,1), (the,2), (foo,3), (bar,4))
(Scala 2.8)
55
Author: mkneissl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-04 10:04:39
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-04 10:04:39