Java教程

Java List集合根据某字段去重

本文主要是介绍Java List集合根据某字段去重,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

去重方法

单个字段为条件去重

/**
     * 单字段去重
     * @param jackpotList1 新集合
     * @param jackpotList 需要去重的集合
     * @return
     */
    private List<Jackpot> distinctList1(List<Jackpot> jackpotList1, List<Jackpot> jackpotList) {
        jackpotList1.addAll(jackpotList);
        return jackpotList1.stream().collect(
                Collectors.collectingAndThen(
                        Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Jackpot::getPrizeId))),ArrayList::new
                )
        );
    }

 

多个字段为条件去重

/**
     * 多字段去重
     * @param jackpotList1 新集合
     * @param jackpotList 需要去重的集合
     * @return
     */
    private List<Jackpot> distinctList(List<Jackpot> jackpotList1, List<Jackpot> jackpotList) {
        jackpotList1.addAll(jackpotList);
        return jackpotList1.stream().collect(
                Collectors.collectingAndThen(
                        Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(jackpot -> jackpot.getMyOrderId() + ";" + jackpot.getPrizeId()))),ArrayList::new
                )
        );
    }
这篇关于Java List集合根据某字段去重的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!