【java8】對list進行分組求和


場景

有一個student類,name是姓名,score是分數,現在要統計每位學生的總成績

方法一

studentList.stream().collect(Collectors.toMap(Student::getName, Student::getScore, Integer::sum));

方法二

List<student> studentList = new ArrayList<>();
studentList.stream()
       .collect(Collectors.groupingBy(Student::getName, Collectors.collectingAndThen(
           Collectors.summarizingDouble(Student::getScore), DoubleSummaryStatistics::getSum)));

方法三

List<student> studentList = new ArrayList<>();
studentList.stream()
       .collect(Collectors.groupingBy(Student::getName, Collectors.collectingAndThen(
            Collectors.mapping(Student::getScore, Collectors.reducing(Integer::sum)),
            Optional::get)));
</student></student>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM