stream流过滤某个属性不包含在某个List集合中的元素,并且封装为集合
时间: 2024-02-06 07:08:55 浏览: 101
java8从list集合中取出某一属性的值的集合案例
5星 · 资源好评率100%
假设有一个对象列表,对象中有一个属性叫做 `property`,需要筛选出其中 `property` 不包含在一个集合 `list` 中的对象,可以使用 Java 8 的流操作来实现:
```
List<MyObject> filteredList = objectList.stream()
.filter(obj -> !list.contains(obj.getProperty()))
.collect(Collectors.toList());
```
上述代码中,`objectList` 是原始对象列表,`MyObject` 类是对象的类型,`getProperty()`方法是获取对象的 `property` 属性的方法。`filter` 过滤器中使用 `!list.contains(obj.getProperty())` 来判断当前对象是否应该被过滤掉,如果 `property` 属性的值不包含在 `list` 集合中,则保留该对象,否则过滤掉。最后,使用 `collect` 方法将过滤后的对象收集到一个新的列表 `filteredList` 中。
阅读全文