我有一个元素列表。在我的例子中的 list 元素里面说 Bean
我有另一个 list 。我的要求是,在迭代父列表时,我必须检查从 Bean class getList()
获得的列表中的特定条件,并且必须从那里返回一个 bool 值。下面是我想要实现的代码演示。如何在 JAVA -8 中使用 lambda 实现这一点?
public boolean test(List<Bean> parentList) {
//Bean is having another List of Bean1
// i want to do some thing like below
parentList.forEach(bean ->
bean.getList().stream().
filter(somePredicate).
findFirst().isPresent();
}
最佳答案
您应该使用 Stream::flatMap
并检查您的状况:
parentList.stream().flatMap(bean -> bean.getList().stream()).anyMatch(somePredicate);