java高效找出两个集合不同的数据
时间: 2024-01-08 10:03:46 浏览: 42
可以使用Java 8中的Stream API来找出两个集合不同的数据。具体实现步骤如下:
1. 将两个集合合并为一个集合。
2. 使用stream()方法将集合转换为流。
3. 使用distinct()方法去除重复元素。
4. 使用filter()方法过滤出在两个集合中都不存在的元素。
5. 使用collect()方法将结果转换为一个集合。
以下是示例代码:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
List<Integer> list2 = new ArrayList<>();
list2.add(2);
list2.add(3);
list2.add(4);
List<Integer> result = list1.stream()
.distinct()
.filter(num -> !list2.contains(num))
.collect(Collectors.toList());
System.out.println(result); // 输出 [1, 4]
}
}
```
在上述代码中,我们将两个集合list1和list2合并为一个集合,然后使用Stream API对其进行操作,最终找出在两个集合中都不存在的元素并输出。