我有一个带有嵌套列表字段的DTO
个对象的列表.
目标是通过id
字段和merge字段将它们group,然后使用Streams API将列表sort.
class DTO {
private Long id;
private List<ItemDTO> items;
}
class ItemDTO {
private Long priority;
private Long value;
}
// input
List<DTO> dtoList = List.of(
DTO(1, List.of(ItemDTO(1, 1), ItemDTO(7, 2))),
DTO(2, List.of(ItemDTO(1, 1), ItemDTO(2, 2))),
DTO(1, List.of(ItemDTO(10, 3), ItemDTO(1, 4)))
);
我需要用相同的id
字段group这些嵌套对象,用字段priority
在102中merge所有项.
这dtoList
个项目的最终结果如下:
// output
List<DTO> resultList = [
DTO(1, List.of(ItemDTO(10,3), ItemDTO(7,2), ItemDTO(1,1), ItemDTO(1,4)),
DTO(2, List.of(ItemDTO(2,2), ItemDTO(1,1),
];
我们可以通过Streams API实现这一点吗?