java lambada 实现多层嵌套的collector?

新手上路,请多包涵

我有一个类

@Data
public class AlterationImportQueryDto {



    private List<Shape> shapeList;


    @Data
    public static class Shape {

        private List<Flask> flaskList;

    }

    @Data
    public static class Flask {

        private Integer id;

    }

}

此时我想要获得所有id的Set,用lambada应该怎么写

阅读 1.1k
2 个回答
Set<Integer> ids = alterationImportQueryDto.getShapeList().stream()
        .flatMap(shape -> shape.getFlaskList().stream())
        .map(Flask::getId).collect(Collectors.toSet());

flatMap

推荐问题