java 两个list比较取值,第一个list里的对象在第二个list里不存在得
时间: 2024-09-25 15:15:56 浏览: 33
java考试题及答案
在Java中,如果你想比较两个List并获取第一个List中存在的但在第二个List中不存在的对象,你可以按照以下步骤操作:
1. 首先,创建一个新的List用于存放第一个List独有的元素。
2. 使用`stream()`函数将两个List转换为流(Stream),然后利用`filter()`和`distinct()`方法过滤出第一个List的独特元素。
3. 再次使用`filter()`函数,这次从第一个List的流中排除掉存在于第二个List中的元素。
4. 最后,使用`collect()`方法将剩余的流转换回List。
下面是一个示例代码片段:
```java
import java.util.*;
import java.util.stream.Collectors;
List<Object> list1 = ...; // 第一个List
List<Object> list2 = ...; // 第二个List
// 创建一个新的List来保存list1中不在list2中的对象
List<Object> uniqueInList1 = list1.stream()
.filter(o -> !list2.contains(o))
.collect(Collectors.toList());
System.out.println("List1中仅有的对象:");
uniqueInList1.forEach(System.out::println);
```
阅读全文