Scala 序列差
找到两个序列A和B的差(补)D的最佳方法是什么,其中D=A-B是属于A但不属于B的所有对象的序列。例如:Scala 序列差,scala,set,difference,Scala,Set,Difference,找到两个序列A和B的差(补)D的最佳方法是什么,其中D=A-B是属于A但不属于B的所有对象的序列。例如: val A = Seq((1,1), (2,1), (3,1), (4,1), (5,1)) val B = Seq((1,1), (5,1)) 要获得: val D = Seq((2,1), (3,1), (4,1)) 使用B元素过滤A及其子集似乎不是“长”序列的有效解决方案。还有其他想法吗?您可以使用集合。SeqLike.diff方法: scala> val A = Seq((
val A = Seq((1,1), (2,1), (3,1), (4,1), (5,1))
val B = Seq((1,1), (5,1))
要获得:
val D = Seq((2,1), (3,1), (4,1))
使用B元素过滤A及其子集似乎不是“长”序列的有效解决方案。还有其他想法吗?您可以使用
集合。SeqLike.diff
方法:
scala> val A = Seq((1,1), (2,1), (3,1), (4,1), (5,1))
A: Seq[(Int, Int)] = List((1,1), (2,1), (3,1), (4,1), (5,1))
scala> val B = Seq((1,1), (5,1))
B: Seq[(Int, Int)] = List((1,1), (5,1))
scala> val D = A diff B
D: Seq[(Int, Int)] = List((2,1), (3,1), (4,1))