我有一个元素列表。在我的例子中的 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);

10-07 18:57
查看更多