jdk8中Collectors工具类之joining、groupingBy、summarizingInt函数简介说明
下文笔者讲述jdk8中Collectors中joining、groupingBy、summarizingInt函数的功能简介说明,如下所示
Collectors.joining
这是一个拼接函数
用于字符串的拼接操作
如:
// 3种重载方法
Collectors.joining()
Collectors.joining("拼接符")
Collectors.joining("拼接符", "前缀", "后缀")
String result = Stream.of("springboot", "mysql", "html5","java265").collect(Collectors.joining(",", "[", "]"));
Collectors.groupingBy
这是一个分组函数例
Map<String, list<Student>> listMap = students.stream().collect(Collectors.groupingBy(obj -> obj.getProvince())); key: 分组字段 value: 分组后的结果 listMap.forEach((key, value) -> { System.out.println("========"); System.out.println(key); value.forEach(obj -> { System.out.println(obj.getAge()); }); });
Collectors.counting()
统计元素个数例
根据省份分组后
统计各省份的人数
Map<String, Long> listMap = students.stream().collect(Collectors.groupingBy(Student::getProvince, Collectors.counting()));
listMap.forEach((key, value) -> {System.out.println(key+"省⼈数有"+value);});
key: 分组字段
value: 统计个数
集合统计:
IntSummaryStatistics summaryStatistics =students.stream().collect(Collectors.summarizingInt(Student::getAge));
System.out.println("平均值:" + summaryStatistics.getAverage());
System.out.println("⼈数:" + summaryStatistics.getCount());
System.out.println("最⼤值:" + summaryStatistics.getMax());
System.out.println("最⼩值:" + summaryStatistics.getMin());
System.out.println("总和:" + summaryStatistics.getSum());
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


