如何比较scala中的两个数组?

atmip9wb  于 2021-07-14  发布在  Spark
关注(0)|答案(1)|浏览(381)

这个问题在这里已经有答案了

两个列表的scala差异(3个答案)
如何根据不同类型的集合选择集合元素(2个答案)
14天前关门了。
我有两个数组,我想找出两个数组中不同的元素。

val arr1=Array(1,2,3,4,5)
val arr2=Array(1,3,4,6,7)

for(x<-arr1;if(arr1(x)!=arr2(0)|arr2(1)|arr2(2)|arr2(3))){
      println(x)
    }

我试过使用for循环,但是失败了!

zpgglvta

zpgglvta1#

在scala中几乎不需要循环。

arr1.zip(arr2).filterNot { case (a,b) => a == b }.foreach(println)

这将打印在同一索引处不同的元素对。如果您只需要第一个数组中的元素,而不是第二个数组中的元素(您的代码似乎正在尝试这样做),那么这样的方法就可以了:

arr1.filterNot(arr2.toSet).foreach(println)

相关问题