在 Scala 中,如何获取两个数组中从未显示的元素数?

In scala, how can I get the count of elements that never shown in both arrays?

例如,我有数组a Array[Int] = Array(1, 1, 2, 2, 3) 数组b Array[Int] = Array(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 以避免创建中间集合)