Java中list集合根据某个实体的属性去重,保留最新数据

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36347817/article/details/88355202

需求:保存一段数组数据,向后台提交,实时提交最新的数据。

将数据添加到一个list的集合中,最后提交之前去重。

定义实体类:

public class Robot implements Serializable {
    /**
     * id
     */
    private Long id;

    /**
     * 名称
     */
    private String name;
}


根据Robot实体中的id字段进行去重,代码如下:

private List<Robot> removeDuplicateRobot(List<Robot> robot) {
    Set<Robot> set = new TreeSet<>(new Comparator<Robot>() {
        @Override
        public int compare(Robot r1, Robot r2) {
        //字符串,则按照Asicc码升序排列
            return r1.getId().compareTo(r2.getId());
        }
    });
    set.addAll(robot);
    return new ArrayList<>(set);
}

根据需求,我们想去除旧数据,保留新数据,只要在塞给Set之前,将list数据倒置即可。

// 列表倒置
Collections.reverse(robot);

猜你喜欢

转载自blog.csdn.net/qq_36347817/article/details/88355202