不,Map(和Set)不排序。您可以使用Scala的交互式解释器(REPL)进行检查:
scala> val elems = List('a'->1, 'b'->2, 'c'->3, 'd'->4, 'e'->5)
elems: List[(Char, Int)] = List((a,1), (b,2), (c,3), (d,4), (e,5))
scala> elems.toMap.toList
res8: List[(Char, Int)] = List((e,5), (a,1), (b,2), (c,3), (d,4))
Run Code Online (Sandbox Code Playgroud)
但是,scala.collection确实提供了SortedMap,这可能是您要查找的内容,尽管我尚未使用此实现。
编辑:实际上,这种转换还有一个更根本的问题:因为您不能在地图中有重复的键,所以您不仅在顺序上失去了保证,而且转换后列表中的元素可能更少。考虑一下:
scala> val elems = List('a'->1, 'a'->2)
elems: List[(Char, Int)] = List((a,1), (a,2))
scala> elems.toMap.toList
res9: List[(Char, Int)] = List((a,2))
Run Code Online (Sandbox Code Playgroud)