实体对象
public class Student {
Integer id;
String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "student{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
初始化数据和去重
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
import java.util.stream.Collectors;
public class CC {
public static void main(String[] args) {
List<Student> stuList = new ArrayList<>();
Student s1 = new Student();
s1.setId(1);
s1.setName("张三");
Student s2 = new Student();
s2.setId(2);
s2.setName("张四");
Student s3 = new Student();
s3.setId(3);
s3.setName("张三");
stuList.add(s1);
stuList.add(s2);
stuList.add(s3);
for (Student student : stuList) {
System.out.println(student);
}
// 核心去重代码
List<Student> studentList = stuList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()
-> new TreeSet<>(Comparator.comparing(Student::getName))), ArrayList::new));
System.out.println("-------------------去重后-----------------------------");
for (Student student : studentList) {
System.out.println(student);
}
}
}
执行结果