jdk8中Collectors工具类之joining、groupingBy、summarizingInt函数简介说明

欣喜 Java经验 发布时间:2024-02-22 10:38:04 阅读数:15149 1
下文笔者讲述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());
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202402/17085695258022.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者