集合对象去重

java8-stream

使用之前,实体类要重写equals和hashCode才会生效。

    public static void main(String[] args)
    {
        List<Person> list1 = new ArrayList<>();
        List<Person> list2 = new ArrayList<>();
        Person person1 = new Person();
        Person person2 = new Person();
        Person person3 = new Person();
        person1.setId(1);
        person1.setName("张三");
        person1.setPhone("111");
        person1.setAddress("88");

        person2.setId(2);
        person2.setName("李四");
        person2.setPhone("222");
        person2.setAddress("99");

        person3.setId(1);
        person3.setName("张三");
        person3.setPhone("111");
        person3.setAddress("88");
        list1.add(person1);
        list1.add(person2);
        list2.add(person3);

        list1.addAll(list2);

        List<Person> collect = list1.stream().distinct().collect(Collectors.toList());
        System.out.println(collect);

    }

输出结果

原文地址:https://www.cnblogs.com/qq1445496485/p/14846256.html