繁体   English   中英

Scala SortedSet:我无法了解订购的工作原理

[英]Scala SortedSet: I cannot get how ordering works

如何按ID排序我的标签元素?

我不知道如何定义orderById函数...

case class Tag(id: Int, name: String, ttype: String)

val orderByID = Ordering[??].on[Tag](? => ? -> ?)

val mySet: SortedSet[Tag] = SortedSet()(orderByID) ;

我想你需要:

val orderByID = Ordering.by[Tag, Int](_.id)
val mySet: SortedSet[Tag] = SortedSet()(orderByID)

Ordering.onOrdering[U]转换为Ordering[T]给定一个从T生成U的函数。 在这种情况下,我们需要从Ordering[Int] ,然后提供Tag => Int函数:

val orderByID = Ordering[Int].on[Tag](_.id)

但正如@Lee所说, Ordering.by在这里是一种更直接的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM