如何在迭代可迭代元素的集合时从forEach lambda返回

Dee*_*pak 4 lambda java-8

我有一个元素列表.在我的情况下列表元素内部说Bean我有另一个列表.我的要求是,当迭代父列表时,我必须检查从中获取的列表中的特定条件,Bean class getList()并且必须从那里返回一个布尔值.下面是我想要实现的代码演示.如何使用lambda在JAVA -8中实现这一点.

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();
 }
Run Code Online (Sandbox Code Playgroud)

Flo*_*own 7

你应该使用Stream::flatMap并检查你的情况:

parentList.stream().flatMap(bean -> bean.getList().stream()).anyMatch(somePredicate);
Run Code Online (Sandbox Code Playgroud)