主要使用的是Collectors工具类和流式集合搭配使用进行统计操作
demo演示:
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class GradeCount {
public static void main(String[] args) {
Student s1 = new Student("李国辉","语文",82);
Student s2 = new Student("李国辉","数学",90);
Student s3 = new Student("华华","语文",70);
Student s4 = new Student("华华","数学",59);
Student s5 = new Student("小华","化学",82);
List<Student> list = new ArrayList<>();
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
list.add(s5);
System.out.println("源数据...");
list.forEach(System.out::println);
System.out.println();
System.out.println("根据名字统计总分数..");
Map<String, Integer> map = list.stream().collect(Collectors.groupingBy(Student::getName, Collectors.summingInt(s -> s.getGrade())));
map.forEach((k,v)-> System.out.println("姓名: "+k+"-----> "+v+"分"));
}
}
结果:
最近迷上了java8的新东西,有助于简化代码开发过程和编写优美的代码…