在Scala中如何就地对IndexedSeq进行排序

4
你如何在scala中原地对IndexedSeq进行排序?API函数在哪里?
1个回答

6

目前没有任何方法可以就地对它们进行排序。

如果你真的需要这样做,可以将 IndexedSeq 转换为 Array[AnyRef],然后使用 Java 中的 Arrays.sort(因为 Scala 的数组不像 Java 的数组协变),需要将其强制转换为 Array[AnyRef]

有趣的是,几周前曾经讨论过向 Scala 的可变集合添加 map、filter 和 sort 等操作的原位版本。

我希望在 2.9 版本的并行集合发布之后,这可能是下一个要进一步改进 Scala 集合的工作项目。

如果人们支持这个想法(或提供一个可行的实现),那么这并不会有什么损失 :-).


2
还有通过scala.util.Sorting进行原地排序,但约束条件仍然相同。 - Daniel C. Sobral
1
我在此高声呼吁,要求进行原地序列操作,并且需要适当的文件用户界面。 - Raphael
讨论区所提到的内容在这里:http://scala-programming-language.1934581.n4.nabble.com/In-place-mutable-operations-td3162695.html - Seth Tisue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接