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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题