Java8根据List根据某一字段去重

package test;

import java.util.ArrayList;

import java.util.Comparator;

import java.util.List;

import java.util.TreeSet;

import java.util.stream.Collectors;

public class Test1 {

    public static void main(String[] args) {

        List<User> userList = new ArrayList<>();


        userList.add(new User("1","李大锤","23","南京"));

        userList.add(new User("2","张无忌","18","西安"));

        userList.add(new User("3","刘德华","26","苏州"));

        userList.add(new User("4","郭靖","33","上海"));


        userList.add(new User("1","李大锤","23","南京"));    //id相同,其他数据也相同

        userList.add(new User("3","带头大哥","36","杭州"));  //id相同,其他数据不同


        System.out.println(userList);

        //根据userid去重

        userList = userList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(User :: getUserid))), ArrayList::new));

        System.out.println(userList);

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容