当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala SeqOps.sortBy用法及代码示例


sortBy 方法(或属性)属于 scala.collection.SeqOps 特性(trait),其相关用法说明如下。

用法:

def sortBy[B](f: A => B)(implicit ord: Ordering[B]): C

根据使用转换函数转换隐式给定 Ordering 产生的 Ordering 对该序列进行排序。

注意:对于无限大小的集合不会终止。

注意:即使应用于视图或惰性集合,它也会始终强制元素。

排序是稳定的。也就是说,相等的元素(由 ord.compare 确定)在排序序列中以与原始元素相同的顺序出现。

类型参数:

B

转换 f 的目标类型,以及定义排序 ord 的类型.

值参数:

f

转换函数将元素映射到其他域B.

ord

B 上假定的排序.

返回:

由该序列的元素组成的序列,按照顺序排序 where x < y if ord.lt(f(x), f(y)).

也可以看看:

例子:

val words = "The quick brown fox jumped over the lazy dog".split(' ')
// this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
words.sortBy(x => (x.length, x.head))
res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)

源码:

Seq.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 SeqOps.sortBy。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。