Desduplicação de fluxo com base em um determinado campo (desduplicação de um determinado campo de um objeto)
opção um
重写
Entidade igual, método hashcode [importante]- Use
infoList.stream().distinct().collect(Collectors.toList());
para obter o resultado
Opção II
O resultado de retorno é Lista
根据productId字段过滤
infoList é a coleção List de origem
ArrayList<Product> collect1 = infoList.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(a -> a.getProductId()))),
ArrayList::new
)
);
O resultado de retorno é definido
TreeSet<Product> collect = infoList.stream().collect(
Collectors.toCollection(
() -> new TreeSet<>(Comparator.comparing(a -> a.getProductId()))
)
);