核心代码
List<TestDTO> collect = list.stream()
.collect(Collectors.collectingAndThen(Collectors.toCollection(() ->
new TreeSet<>(Comparator.comparing(o -> o.getId() + ";" + o.getParameter() + ";" + o.getParam()))), ArrayList::new));
全部代码演示
0. 新建一个实体类
@ToString
@Data
@Builder
public class TestDTO {
private Long id;
private String param;
private String parameter;
}
1. 主函数测试
public static void main(String[] args) {
List<TestDTO> list = new ArrayList<TestDTO>(){
{
add(TestDTO.builder().id(1L).parameter("111").param("111").build());
add(TestDTO.builder().id(1L).parameter("111").param("1111").build());
add(TestDTO.builder().id(2L).parameter("111").param("111").build());
add(TestDTO.builder().id(2L).parameter("111").param("111").build());
}
};
ArrayList<TestDTO> collect = list.stream()
.collect(Collectors.collectingAndThen(Collectors.toCollection(() ->
new TreeSet<>(Comparator.comparing(o -> o.getId() + ";" + o.getParameter() + ";" + o.getParam()))), ArrayList::new));
System.out.println(JSON.toJSON(collect));
}
版权声明:本文为qq_42299461原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。