java8两个list集合取差集
时间: 2023-11-24 09:08:50 浏览: 107
List求差集
可以使用Java 8的stream和lambda表达式来实现两个List集合取差集。可以使用filter()方法来对其中一个集合进行过滤,在filter()方法中使用!contains()实现对另一个集合中不存在的元素的过滤,然后使用collect()方法将结果收集至List集合中。具体实现代码如下所示:
```
List<String> list1 = Arrays.asList("a", "b", "c", "d");
List<String> list2 = Arrays.asList("b", "d", "e", "f");
List<String> difference = list1.stream()
.filter(element -> !list2.contains(element))
.collect(Collectors.toList());
System.out.println(difference); // 输出 [a, c]
```
在上述代码中,list1和list2是两个需要进行差集操作的List集合,定义了两个包含字符串的List集合,然后使用stream()方法产生一个Stream对象,然后使用filter()方法将list1中不包含在list2中的元素过滤出来,最后使用collect()方法将过滤出来的元素收集至List集合中。
阅读全文