我有一个元素列表。在我的案例中,在列表元素中说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();
}
答案 0 :(得分:7)
您应该使用Stream::flatMap
并检查您的情况:
parentList.stream().flatMap(bean -> bean.getList().stream()).anyMatch(somePredicate);