小编Bra*_*erg的帖子

给定集A和B,是否有标准库函数来生成3-ple(A-B,交集,B-A)?

也就是说,我正在寻找一个标准或准标准(Apache Commons,Guava等)库函数,它将有效地生成:

def f[T](oldSet: Set[T], newSet: Set[T]): (Set[T], Set[T], Set[T]) = {
    val removed = oldSet.diff(newSet)
    val kept = oldSet.intersect(newSet)
    val added = newSet.diff(oldSet)
    (removed, kept, added)
}
Run Code Online (Sandbox Code Playgroud)

显然这并不难写,而且我确信我可以毫不费力地做出或多或少的最佳实现,但对于我来说,对此的需求经常出现,我感到困惑,似乎没有要做一个众所周知的图书馆功能.我错过了什么,还是真的不存在?

编辑:对于那些指向Scala的标准交叉和差异函数及其运算符等价的人,我很欣赏这个想法,但我已经知道了这些,因为你可以从我在上面的例子中使用它们的事实中看到.我正在寻找一个标准库函数,它在函数上等效于上面定义的函数f()并且效率更高.

scala scala-collections

2
推荐指数
1
解决办法
104
查看次数

标签 统计

scala ×1

scala-collections ×1