Desduplicação de fluxo com base em um determinado campo (desduplicação de um determinado campo de um objeto)

Desduplicação de fluxo com base em um determinado campo (desduplicação de um determinado campo de um objeto)

opção um

  1. 重写Entidade igual, método hashcode [importante]
  2. 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()))
                    )
            );

Acho que você gosta

Origin blog.csdn.net/qq_41070393/article/details/126282175
Recomendado
Clasificación