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());
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。