很容易通过Python中的键或值对映射进行排序(this question for example)。如何通过Scala中的键对字典进行排序?
我愿做斯卡拉同样的事情,可以说我有一个像一本字典:
val A= Map(0 -> 1.0, 3 -> 5.0,2->7.0)
我想获得通过按键对应的有序映射元组的列表:
val A_sorted= List((0,1.0),(2,7.0),(3,5.0))
谢谢!
很容易通过Python中的键或值对映射进行排序(this question for example)。如何通过Scala中的键对字典进行排序?
我愿做斯卡拉同样的事情,可以说我有一个像一本字典:
val A= Map(0 -> 1.0, 3 -> 5.0,2->7.0)
我想获得通过按键对应的有序映射元组的列表:
val A_sorted= List((0,1.0),(2,7.0),(3,5.0))
谢谢!
Map(0 -> 1.0, 3 -> 5.0,2->7.0).toList.sortBy(_._1)
res1: List[(Int, Double)] = List((0,1.0), (2,7.0), (3,5.0))
的一种方法是使用:_ *语法输出序列的内容,然后 转换地图到一个SortedMap:
val a = Map(0 -> 1.0, 3 -> 5.0,2->7.0)
val sortedA = scala.collection.immutable.SortedMap(a.toList:_*)
你可以将其转换为一个列表,如果需要:
sortedA.toList
这足以
A.toList.sorted
在排序中,首先排序第一个坐标;在平等使用第二个坐标。
要注意的是,按照惯例,首字母大写的Scala标签表示类型(或类)。