java两个list对象根据对象里面的一个属性取交集
时间: 2024-05-01 19:21:33 浏览: 105
Linq两个List集合取交集的实现
5星 · 资源好评率100%
可以使用Java 8的Stream API来实现这个功能。假设有两个List对象,分别为list1和list2,对象类为Object,其中都有属性id。
代码如下:
```java
List<Object> resultList = list1.stream()
.filter(list2.stream()
.map(Object::getId)
.collect(Collectors.toSet())::contains)
.collect(Collectors.toList());
```
上述代码中,首先将list2中的所有id属性值收集到一个Set集合中,然后使用filter()函数过滤list1中的元素,只保留id属性值在Set集合中出现过的元素,最后将结果收集到一个新的List集合中。实现了两个List对象根据对象里面的一个属性取交集的功能。
阅读全文