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

时间:2017-06-16 04:55:56

标签: 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();
 }

1 个答案:

答案 0 :(得分:7)

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

parentList.stream().flatMap(bean -> bean.getList().stream()).anyMatch(somePredicate);