public static <T> Collector<T,?,IntSummaryStatistics> summarizingInt(ToIntFunction<? super T> mapper)
public static <T> Collector<T,?,LongSummaryStatistics> summarizingLong(ToLongFunction<? super T> mapper)
public static <T> Collector<T,?,DoubleSummaryStatistics> summarizingDouble(ToDoubleFunction<? super T> mapper)
这三个方法功能类似只是针对的数据类型不一样。这里只取summarizingInt这个方法来说明。
先看例子:
void test40() {
List<User> userList = List.of((new User("mail1","adr1",3)),(new User("mail2","a2",5)),(new User("mail2","adr3",9)),(new User("mail1","adrr4",13)));
IntSummaryStatistics iss = userList.stream().collect(Collectors.summarizingInt(a -> a.getAge()));
System.out.println(iss.toString());
}
运行结果:IntSummaryStatistics{count=4, sum=30, min=3, average=7.500000, max=13}
看吧,这个方法其实就是进行简单数据统计的,从一堆数据中得出数据数量,总和,最小值,最大值,平均值。