import java.util.List;
import java.util.stream.Collectors;
class Ideone {
public static void main
(String[] args
) { List
<Student
> students
= List.
of(1.0,
2.0,
3.0,
4.0).
stream() .map(Student::of)
.collect(Collectors.toList());
System.
out.
println(sumScore
(students
)); }
public static double sumScore(List<? extends Student> students) {
return students.stream()
.mapToDouble(Student::getScore)
.sum();
}
}
class Student {
final double score;
private Student(double score) {
this.score = score;
}
public static Student of(double score) {
return new Student(score);
}
public double getScore() {
return score;
}
}
aW1wb3J0IGphdmEudXRpbC5MaXN0OwppbXBvcnQgamF2YS51dGlsLnN0cmVhbS5Db2xsZWN0b3JzOwoKY2xhc3MgSWRlb25lIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB7CgkJTGlzdDxTdHVkZW50PiBzdHVkZW50cyA9IExpc3Qub2YoMS4wLCAyLjAsIDMuMCwgNC4wKS5zdHJlYW0oKQoJCQkJLm1hcChTdHVkZW50OjpvZikKCQkJCS5jb2xsZWN0KENvbGxlY3RvcnMudG9MaXN0KCkpOwoJCQoJCVN5c3RlbS5vdXQucHJpbnRsbihzdW1TY29yZShzdHVkZW50cykpOwoJfQoJCglwdWJsaWMgc3RhdGljIGRvdWJsZSBzdW1TY29yZShMaXN0PD8gZXh0ZW5kcyBTdHVkZW50PiBzdHVkZW50cykgewoJCXJldHVybiBzdHVkZW50cy5zdHJlYW0oKQoJCQkubWFwVG9Eb3VibGUoU3R1ZGVudDo6Z2V0U2NvcmUpCgkJCS5zdW0oKTsKCX0KfQoKY2xhc3MgU3R1ZGVudCB7CglmaW5hbCBkb3VibGUgc2NvcmU7CgkKCXByaXZhdGUgU3R1ZGVudChkb3VibGUgc2NvcmUpIHsKCQl0aGlzLnNjb3JlID0gc2NvcmU7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgU3R1ZGVudCBvZihkb3VibGUgc2NvcmUpIHsKCQlyZXR1cm4gbmV3IFN0dWRlbnQoc2NvcmUpOwoJfQoJCglwdWJsaWMgZG91YmxlIGdldFNjb3JlKCkgewoJCXJldHVybiBzY29yZTsKCX0KfQ==