这个问题在这里已经有答案了:
两个列表的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循环,但是失败了!
zpgglvta1#
在scala中几乎不需要循环。
arr1.zip(arr2).filterNot { case (a,b) => a == b }.foreach(println)
这将打印在同一索引处不同的元素对。如果您只需要第一个数组中的元素,而不是第二个数组中的元素(您的代码似乎正在尝试这样做),那么这样的方法就可以了:
arr1.filterNot(arr2.toSet).foreach(println)
1条答案
按热度按时间zpgglvta1#
在scala中几乎不需要循环。
这将打印在同一索引处不同的元素对。如果您只需要第一个数组中的元素,而不是第二个数组中的元素(您的代码似乎正在尝试这样做),那么这样的方法就可以了: