在Java中对Javabean进行去重
List<Person> personList = new ArrayList<Person>();
personList.add(new Person("Tom", 8900, 10,"male", "New York"));
personList.add(new Person("Jack", 7000, 20,"male", "Washington"));
personList.add(new Person("Lily", 7800, 30,"female", "Washington"));
personList.add(new Person("Anni", 8500, 40,"female", "New York"));
personList.add(new Person("Owen", 9500, 25,"male", "New York"));
personList.add(new Person("Alisa", 7900, 24,"female", "New York"));
personList.add(new Person("Alisa", 8500, 24,"female", "New York"));
// 方法一:根据name去重
ArrayList<Person> collect6 = personList.stream().collect(
Collectors.collectingAndThen(Collectors.toCollection(
() -> new TreeSet<>(Comparator.comparing(o -> o.getName()))
), ArrayList::new)
);
System.out.println(collect6);
// 方法二:
TreeSet<Person> people = new TreeSet<>(Comparator.comparing(Person::getName));
people.addAll(personList);
ArrayList<Person> collect7 = new ArrayList<>(people);
System.out.println(collect7);
// 方法三:使用hutool
TreeSet<Person> set = CollectionUtil.toTreeSet(personList, Comparator.comparing(Person::getName));
ArrayList<Person> collect8 = CollectionUtil.newArrayList(set);
System.out.println(collect8);
在java中对list进行去重
ArrayList<Integer> list = CollectionUtil.newArrayList(50, 20, 60, 79, 10, 50, 60, 100);
List<Integer> list1 = list.stream().distinct().collect(Collectors.toList());
System.out.println(list1);