我有一个SortedSet
,我需要在保留顺序的同时将其转换为Seq
(因为我需要使用seq输出调用map
)。
REPL中的几项测试显示toSeq
保持订单以及toIndexedSeq
,但我需要确定:是否保证保留订单?
否则我可以使用.toSeq.sorted
,但这太过分了......
答案 0 :(得分:5)
toSeq
等函数是通过构建一个新集合(对于toSeq它是一个可变的Buffer
)实现的,并以原始集合的迭代顺序添加元素(SortedSet
)。这意味着将始终对结果序列进行排序。