如果不要求结果集合的顺序改变,可以使用Java 8中的Stream对集合进行操作,代码如下:
List<Integer> listA = Arrays.asList(1, 2, 3);
List<Integer> listB = Arrays.asList(3, 4, 5);
List<Integer> resultList = Stream.concat(listA.stream(), listB.stream())
.distinct()
.collect(Collectors.toList());
System.out.println(resultList);
运行结果为:[1, 2, 3, 4, 5],即合并后的去重集合。
解释一下代码:
-
首先,我们使用Arrays.asList()方法将数组转换为List集合,这样就得到了集合A和集合B。
-
然后,我们使用Stream.concat()方法将两个流合并成一个流,这样就得到了合并后的流。
-
接着,我们使用distinct()方法对流进行去重操作。
-
最后,我们使用collect()方法将流转换为List集合,这样就得到了合并后的去重集合。
需要注意的是,Stream是Java 8中的新特性,只适用于Java 8及以上版本。