java 判断list1中不在list2中的集合并打印集合
时间: 2024-04-29 07:22:18 浏览: 105
Java判断2个List集合是否相等(不考虑元素的顺序)
5星 · 资源好评率100%
可以使用 Java 8 的 Stream API 来实现。
假设有两个 List 集合 list1 和 list2,要找出 list1 中不在 list2 中的元素,可以这样写:
```java
List<String> list1 = Arrays.asList("a", "b", "c", "d", "e");
List<String> list2 = Arrays.asList("b", "d", "f");
List<String> diff = list1.stream()
.filter(item -> !list2.contains(item))
.collect(Collectors.toList());
System.out.println(diff);
```
输出结果为:
```
[a, c, e]
```
解释一下上面的代码:
1. 通过 `stream()` 方法将 list1 转换成一个流(Stream)。
2. 使用 `filter()` 方法过滤出 list1 中不在 list2 中的元素,即对于 list1 中的每个元素 `item`,只有当它不在 list2 中时才保留。
3. 使用 `collect()` 方法将过滤后的结果收集到一个新的 List 中。
4. 打印结果。
注意,这里假设 List 中的元素是字符串类型,如果是其他类型需要根据实际情况修改代码。
阅读全文