如果 A
具有 Ordered[A]
特征,我希望能够拥有像这样工作的代码
val collection: List[List[A]] = ... // construct a list of lists of As
val sorted = collection sort { _ < _ }
并获取列表已按字典顺序排序的内容。当然,仅仅因为 A
具有 Ordered[A]
特征并不意味着 List[A]
具有 Ordered 特征[列表[A]]
。然而,据推测,执行此操作的“scala 方式”是使用隐式 def。
假设 A 具有 Ordered[ 特征,如何将
(这样上面的代码就可以工作)?List[A]
隐式转换为 Ordered[List[A]]
A]
我考虑在 List[A]
对象上使用字典顺序,但我想要可以适应其他顺序的代码。
最佳答案
受到 Ben Lings 回答的启发,我设法找到了按字典顺序对列表进行排序的最简单方法:添加行
import scala.math.Ordering.Implicits._
在进行 List[Int] 比较之前,确保隐式函数 infixOrderingOps
在范围内。
关于sorting - 如何在 Scala 中按字典顺序对列表集合进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137918/