[英]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.on
将Ordering[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.