sorting - 如何在 Scala 中按字典顺序对列表集合进行排序?

标签 sorting scala html-lists lexicographic

如果 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/

相关文章:

sorting - boost 弹性聚集结果

php - 如何结合 bool 必须和排序以进行 Elasticsearch

mysql - Slick 2 将 (Column[A], Column[B]) 转换为 Column[(A,B)]

php - 按特定字符串值排序

scala - 卡夫卡流0.10.1 "Failed to flush state store"

scala - 如果函数可以是不同的类型,单子(monad)规则将如何应用

javascript - jQuery 检测何时添加列表项

html - 下拉菜单不适用于 % 宽度

html - float :left insive li in Chrome

c++ - 将以下 C++ 代码翻译成 Nim