java编程将a,b数组中不同的数字保存到一个新的数组中

2020-04-30 教育 390阅读
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
public class NumDemo {
public static void main(String[] args) {
        int[] ary1 = { 1,2,8,6,8,7 };
int[] ary2 = { 1,-2,7,5,};
HashSet set = new HashSet();//用于存储数组1和数组2
for (int a : ary1) {
set.add(a);
}
for (int b : ary2) {
set.add(b);
}
for (int i = 0; i < ary1.length; i++) {
int temp = ary1[i];
boolean flag = false;
for (int j = 0; j < ary2.length; j++) {
if (temp == ary2[j]) {
flag = true;//如果有相同元素
}
}
if (flag) {
set.remove(temp);//就从集合里移除
}
}
int[] result = new int[set.size()];//新数组,用于保存不同的元素
Iterator it = set.iterator();//迭代器
int index = 0;
while(it.hasNext()){//遍历给数组赋值
result[index] = it.next();
index++;
}
System.out.println(Arrays.toString(result));//输出新数组,
}
}

输出

[-2, 2, 5, 6, 8]

说明, 由于HashSet是无序不重复的保存元素,所以就算同一数组有多个相同数字,也当成一个数字,比如ary1里,2个8,实际只存储一个8.

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com