java创建一个方法,该方法使用2个给定数组返回一个新数组,其中包含来自a和b的元素,且没有重复项:
大家好,我是一个初学者,我正在尝试解决这个问题,这里是我迄今为止尝试过的。。。但我真的很困惑:
编写一个名为int[]arrayUnion(int[]a,int[]b)的方法,给定两个int数组,该方法返回一个新数组,其中包含来自a和b的唯一元素。没有重复
示例输出: arrayUnion([1,2,3],-1,0,1])返回[1,2,3,-1,0]
arrayUnion([1,1,1],[1,1,1])返回[1]
public static int[] arrayUnion(int[] a, int[] b){
int[] result;
for(int i =0; i< a.length; i++){
for(int k =0; k<result.length; k++){
if(a[i]!= result[k]){
result.add(a[i]);
}
}
}
for(int j =0; j< b.length; j++){
for(int k =0; k<result.length; k++){
if(b[j]!=result[k]){
result.add(b[j]);
}
}
}
return result;
}
# 1 楼答案
首先,不能对数组使用
add
方法。因此,您的代码可以如下所示:第二,这是一个有点容易设置。因此,您可以轻松地添加所有值并返回数组:
还有第三种选择。您可以将Java流API与flatMap一起使用:
# 2 楼答案
您可以通过一个流来实现,合并两个数组,只保留单个数组中的不同值
印刷品
这是由
Intstream
李>int array
李># 3 楼答案
如果可以使用Java集合,则可以使用如下集合来获取唯一整数数组: