在Java8中使用流的嵌套列表

10 浏览
0 Comments

在Java8中使用流的嵌套列表

我有一个对象A的列表。列表中的每个对象A都包含一个对象B的列表,而对象B又包含一个对象C的列表。对象C包含一个属性名,我想用Java 8的流来筛选。

如何使用流来避免嵌套循环来编写下面的Java 8代码:

C c1 = listOfAObjects.stream()
    .flatMap(a -> a.getList().stream())
    .flatMap(b -> b.getPr().stream())
    .filter(c -> c.getName().equalsIgnoreCase(name))
    .findFirst()
    .orElse(null);

0