java-list去重

public class ListUnique {
    public static void main(String[] args) {
        List<User> users = new ArrayList<>();
        users.add(new User("A",23));
        users.add(new User("B",23));
        users.add(new User("A",23));
//        第一种该方法
        List<User> usersUnique = new ArrayList(new HashSet(users));//位置会发生变化,取最新的位置
        System.out.println(usersUnique);
//        第二种
        Set<User> usersTemp = new HashSet<>();
        List<User> usersUnique3 = new ArrayList<>();
        for (User user : users) {
            if (usersTemp.add(user)){
                usersUnique3.add(user);
            }
        }
        System.out.println(usersUnique3);
//        第三种
        List<User> usersUnique2 = users.stream().distinct().collect(Collectors.toList());
        System.out.println(usersUnique2);

        /**
         * [User(name=B, age=23), User(name=A, age=23)]
         * [User(name=A, age=23), User(name=B, age=23)]
         * [User(name=A, age=23), User(name=B, age=23)]
         */

 

posted @ 2020-12-02 19:06  小丑quan  阅读(107)  评论(0)    收藏  举报