Teacher student1 = new Teacher("zhangsan",60);
Teacher student2 = new Teacher("lisi",100);
Teacher student3 = new Teacher("wangwu",80);
Teacher student4 = new Teacher("zhaoliu",90);
Teacher student5 = new Teacher("lisi",100);
List<Teacher> students = Arrays.asList(student1,student2,student3,student4);
Map<Integer, Teacher> resultList = students.stream().
collect(
Collectors.groupingBy(
Teacher::getScore,Collectors.collectingAndThen(Collectors.toList(),value->value.get(0))));
teacher实体类
public class Teacher {
private String name;
private int score;
public Teacher(){
}
public Teacher(String name,int score){
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public int compareByScore(Teacher student){
return this.getScore() - student.getScore();
}
public static int compareStudentByName(Teacher student1,Teacher student2){
return student1.getName().compareTo(student2.getName());
}
}