scala基础知识--Ordering
来源:互联网 发布:高中生学编程 编辑:程序博客网 时间:2024/06/08 09:44
trait Ordering[T] extends Comparator[T] with PartialOrdering[T] with Serializable
英文解释
Ordering is a trait whose instances each represent a strategy for sorting instances of a type.
Ordering’s companion object defines many implicit objects to deal with subtypes of AnyVal (e.g. Int, Double), String, and others.
To sort instances by one or more member variables, you can take advantage of these built-in orderings using Ordering.by and Ordering.on:
具体来说,就是Ordering一般放在类似于Sorting、top这类的排序方法中用来设定排序顺序。好了,直接上代码
import scala.util.Sorting val pairs = Array(("a", 5, 2), ("c", 3, 1), ("b", 1, 3)) Sorting.quickSort(pairs)(Ordering.by[(String, Int, Int), Int](_._2))
意思是以Array里每一个元组的第三个元素为排序依据(元组下标从1开始),_._2就是取第二个元素
输出:
scala> pairsres1: Array[(String, Int, Int)] = Array((b,1,3), (c,3,1), (a,5,2))
同理:
scala> Sorting.quickSort(pairs)(Ordering.by[(String, Int, Int), Int](_._3))scala> pairsres6: Array[(String, Int, Int)] = Array((c,3,1), (a,5,2), (b,1,3))
还有《Spark机器学习》p74
val sortedSims = sims.top(K)(Ordering.by[(Int, Double), Double]{case (id, similarity) => similarity})
阅读全文
1 0
- scala基础知识--Ordering
- Scala 基础知识
- Scala基础知识
- Scala基础知识
- Scala 基础知识
- scala进阶20-隐式转换至Ordered与Ordering
- Scala详解--------基础知识详解
- Chapter01 Scala基础知识
- spark scala基础知识汇总
- Scala基础知识之函数
- Scala基础知识之集合
- scala学习笔记四----scala基础知识学习
- scala入门-02基础知识->方法
- scala入门-03基础知识->表达式
- scala学习笔记(基础知识)
- Scala基础知识之伴生对象
- 大数据程序设计:Scala基础知识
- Scala学习(1)——Scala基础知识
- 织梦cms网站安全防护设置
- 类的继承/方法重写/重载
- Linux下指定目录中最大的10个文件
- 3.Nginx信号控制
- Quartz动态任务 Spring boot环境
- scala基础知识--Ordering
- 使用注解时通过实体类获取表名和表字段名
- 微信小程序实现页面下拉刷新和上拉加载
- UVa10970
- Callable与Future
- 翻转单向链表
- JAVA设计模式 观察者模式
- 452 四合归零
- leetcode 71