lambda对list去重求和
public class Test {
public static void main(String[] args) {
List<Student> list = new ArrayList<>();
Student student = new Student();
student.setStuName("张三");
student.setScore(10);
list.add(student);
student = new Student();
student.setStuName("李四");
student.setScore(20);
list.add(student);
student = new Student();
student.setStuName("张三");
student.setScore(10);
list.add(student);
List<Student> noduclipte = list.stream().collect(Collectors.toMap(Student::getStuName, a -> a, (o1, o2) -> {
o1.setScore(o1.getScore() + o2.getScore());
return o1;
})).values().stream().collect(Collectors.toList());
noduclipte.forEach(System.out :: println);
}
}
@Data
class Student{
private String stuName;
private int score;
}