package com.stream;
import java.util.ArrayList;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class TestStream6 {
public static void main(String args[]){
List students = new ArrayList();
students.add(new Stu("Joy",80));
students.add(new Stu("Joy",90));
students.add(new Stu("Tony",80));
students.add(new Stu("Tony",82));
students.add(new Stu("Joy",85));
List stus = students.stream().collect(Collectors.toList());
System.out.println(stus);
Map results = students.stream().collect(Collectors.groupingBy(Stu::getName,Collectors.counting()));
System.out.println(results);
Map results2 = students.stream().collect(Collectors.groupingBy(Stu::getName,Collectors.summingInt(Stu::getScore)));
System.out.println(results2);
Map results3 = students.stream().collect(Collectors.groupingBy(Stu::getName,Collectors.summarizingInt(Stu::getScore)));
System.out.println(results3);
}
}
class Stu{
int score;
String name;
Stu(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;
}
}