今天在敲代码的时候,遇到一个问题,在java中如何获得两个数组中的不同元素。
我刚开始的思路是通过两个for循环来获取,但是写下来发现并不能解决问题,于是,上网查找资料,发现大部分都在说这样的一种方法,如下:
获取数组中的不同元素这种方法的思路是,把第一个数组转换为List集合。之后遍历第二个数组,用List集合的contains方法判断第二个数组中的每个元素是否在第一个数组转换的List集合中。新建一个List集合来接收不在第一个List集合中的元素,返回这个List集合,就能得到两个数组中的不同元素。
然而经过测试我发现这个方法是有问题的,这个方法只能在第二个数组中的元素比第一个多的时候。以上面为例,如果array1与array2中的元素交换下,那么用这个方法得到的是空值。
仔细分析下发现,这个方法是获得第二个数组比第一个数组多的元素,是不完整的。所以,这里,只要在这个方法的基础上加上第一个数组比第二个数组多的元素就可以了,更正后的方法如下:
完善的判断方法通过这个方法,两个数组中的不同元素就可以全部获取啦。
网友评论