关于如何取两个数组不同的数的方法(Java)

关于如何取两个数组不同的数的方法(JAVA)


参考: 两个数组输出不同数的方法
这段代码的确可以找出他们之间的不同的数,但是我发现这个代码只能用array2比array1,而且如果array1有,array2没有的数字也是输出不出来的,所以我就想到加一个for循环。
在这里插入图片描述
具体代码如下:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class _取数组中不同的数输出 {
	public static <T> void main(String[] args) {
		List<T> list0 = new ArrayList<T>();//创建一个列表来接收compare传过来的list3
		Integer arr1[]= { 1, 2, 3,4,9,12,14 };
		Integer arr2[]= { 1,2,10,11 };
		list0=(List<T>) compare(arr1,arr2);
		System.out.print(list0);
	}
	public static <T> List<T> compare(T[] t1, T[] t2) {
		List<T> list1 = Arrays.asList(t1);
		List<T> list2 = Arrays.asList(t2);
		List<T> list3 = new ArrayList<T>();
		//用来存放数组二比数组一多出来的数的数组
		List<T> list4=new ArrayList<T>();
		//因为你不知道到底是哪个数组差什么,所以你需要写两个for循环找出不同的数值
			for (T t : t1) {//遍历t1 每次遍历的结果为t
				if (!list2.contains(t)) {
				//如果T2里面没有t则把t加入到list3中
					list3.add(t);
				}
			}
			for (T m : t2) {//同上
				if (!list1.contains(m)) {
					list4.add(m);
				}
			}	
		list3.addAll(list4);//将两次的值合并在一个list中		
		return list3;
	}
}

运行结果:
在这里插入图片描述
这样就可以完整的找到两个数组中所有不同的数了!
我也还在学习之中,若有不足的地方请大家给我指出来,共同进步!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值