복붙노트

[SCALA] 어떻게 그 값에 의한 scala.collection.Map [java.lang.String의, 지능] 정렬하려면?

SCALA

어떻게 그 값에 의한 scala.collection.Map [java.lang.String의, 지능] 정렬하려면?

당신은 어떻게 (때문에, int)에 그 값을 기준으로 [java.lang.String의, 지능]을 scala.collection.Map을 정렬 할 것인가? 그렇게 할 수있는 짧고 우아한 방법은 무엇입니까?

해결법

  1. ==============================

    1.예상 출력 수집 유형 (SortedMaps이 키에 분류되어 있습니다)이 무엇인지에 따라이 같은 것을 사용할 수 있습니다 :

    예상 출력 수집 유형 (SortedMaps이 키에 분류되어 있습니다)이 무엇인지에 따라이 같은 것을 사용할 수 있습니다 :

    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))
    

    (스칼라 2.8)

  2. from https://stackoverflow.com/questions/2972871/how-to-sort-a-scala-collection-mapjava-lang-string-int-by-its-values by cc-by-sa and MIT license