Arrays 在scala中,如何获得两个数组中从未显示的元素数?
例如,我有一个数组Arrays 在scala中,如何获得两个数组中从未显示的元素数?,arrays,scala,dataframe,diff,intersect,Arrays,Scala,Dataframe,Diff,Intersect,例如,我有一个数组 Array[Int]=数组(1,1,2,2,3) 阵列b Array[Int]=数组(2,3,4,5) 我想计算一下有多少元素只显示在a或b中。在本例中,它是(1,1,4,5),因此计数是4 我尝试了diff、union、intersect,但我找不到它们的组合来获得我想要的结果。我想你可以尝试类似的方法,但这不是一个好方法,但这仍然可以奏效 a.filterNot(b contains).size + b.filterNot(a contains).size 与另一个答案
Array[Int]=数组(1,1,2,2,3)
阵列b
Array[Int]=数组(2,3,4,5)
我想计算一下有多少元素只显示在a或b中。在本例中,它是(1,1,4,5),因此计数是4
我尝试了diff、union、intersect,但我找不到它们的组合来获得我想要的结果。我想你可以尝试类似的方法,但这不是一个好方法,但这仍然可以奏效
a.filterNot(b contains).size + b.filterNot(a contains).size
与另一个答案的想法相同,但线性时间:
a.iterator.filterNot(b.toSet).size + b.iterator.filterNot(a.toSet).size
(
.iterator
以避免创建中间集合)差异集唯一值的长度