zoukankan      html  css  js  c++  java
  • jdk8-》joining、groupingBy、summarizingInt函数

    拼接函数 Collectors.joining
      // 3种重载方法
      Collectors.joining()
      Collectors.joining("拼接符")
      Collectors.joining("拼接符", "前缀", "后缀")
      String result = Stream.of("springboot", "mysql", "html5","css3").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());
     
  • 相关阅读:
    每个人都有属于自己的机会
    [转]Android动画开发——Animation动画效果
    [转]android 使用WebView
    深圳 2012 职称英语 报名
    [转]java中的io笔记
    [转]手机蓝牙各类服务对应的UUID(常用的几个已通过验证)
    [文摘20111215]急事慢慢说
    [转]Android XML解析
    [转]J2SE复习笔记2线程
    queryScopedSelector
  • 原文地址:https://www.cnblogs.com/yuefeng123/p/12153988.html
Copyright © 2011-2022 走看看