求并集

// 并集
public static Integer[] union1(int[] arr1,int[] arr2){
int index = 0;
int[] newarr = new int[arr1.length+arr2.length];
// 把传进来的数组添加到一个新数组里面。
for(int a:arr1){
newarr[index++] = a;
}
for(int b:arr2){
newarr[index++] = b;
}

int count = 0;
// 建立一个Integer的数组来装并集数组,因为数组的长度是固定的,用默认值null方便判断
Integer[] newarr1 = new Integer[index];
for(int a = 0;a < newarr.length;a++){
boolean flag = true;
for(int b = a+1; b < newarr.length;b++){
if(newarr[a] == newarr[b]){
flag = false;
break;//如果有相同的就跳出当前循环进入下次循环。
}
}

if(flag){
// 把不相同的元素添加到新数组里面
newarr1[count] = newarr[a];
count++;
}

}
newarr1 = Arrays.copyOf(newarr1, count);
// for(int a = 0;a<newarr1.length;a++){
// if(newarr1[newarr1.length-1]==null){
//// newarr1[a] = newarr1[newarr1.length-1];//把最后一个元素赋值给值为null的元素
// newarr1 = Arrays.copyOf(newarr1, newarr1.length-1);//复制数组,把最后一个元素给去掉
// }
//
// }

return newarr1;
}

原文地址:https://www.cnblogs.com/xiaoshuaidiboke/p/7151666.html