【Java8 stream流】去重distinct与collectingAndThen的使用

Java8 stream流】去重distinct与collectingAndThen的使用

// 去除List中重复的String
List<String> unique = list.stream().distinct().collect(Collectors.toList());
// An highlighted block
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "t_product", autoResultMap = true)
public class Product extends BaseDomain {
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    protected Long id;

    /**
     * 所属用户
     */
    private Long userId;

    /**
     * 所属店铺
     */
    private Long shopId;

}
// List中对象去重
List<Product> resultList11 = resultList.stream().collect(
        Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Product::getId))), ArrayList::new));

你可能感兴趣的:(Java,java,后端)