Java 8 (lambda)表达式 Collectors中的统计、分组、排序、过滤等
时间:2021-09-03
本文章向大家介绍Java 8 (lambda)表达式 Collectors中的统计、分组、排序、过滤等,主要包括Java 8 (lambda)表达式 Collectors中的统计、分组、排序、过滤等使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#使用filter()过滤List
//添加测试数据
List<User> userList = new ArrayList<>();
studentList.add(new StudentInfo("张三",14));
studentList.add(new StudentInfo("李四",18));
studentList.add(new StudentInfo("王五",21));
studentList.add(new StudentInfo("赵六",17));
//查找年龄在18岁以上的 List<User> userFilterList = userList.stream().filter(s->s.getAge() >= 18).collect(Collectors.toList()); //输出查找结果 StudentInfo.printStudents(userFilterList);
#使用groupingBy()进行分组后 使用averagingInt()进行求平均值
//添加测试数据 List<ResultModel> selectResultList = new ArrayList<>(); selectResultList.add("传输网IP",12,10,22); selectResultList.add("传输网IP",14,10,30); selectResultList.add("传输网IP",12,10,33); selectResultList.add("传输网IP",17,11,41); selectResultList.add("传输网IP",12,10,15); //根据数据源id,策略id进行分组 Map<String, List<ResultModel>> countMap = sevenDaySqlList.stream().collect(Collectors.groupingBy(item -> item.getDatasourceId() + "_" + item.getPolicyId()));
for(String keys : countMap.keySet()){
String[] temp = keys.split("_");
Integer datasourceId = Integer.valueOf(temp[0]);
Integer policyId = Integer.valueOf(temp[1]);
List<ResultModel> list = countMap.get(keys);
//进行求平均值计算
Double resultAvg = list.stream().collect(Collectors.averagingInt(ResultModel::getResultNum));
}
//过滤 采集结果为0的数据 且不在范围内的数据后 并求平均值 Double resultAvg = list.stream().filter(s->s.getResultNum() > 0 && Math.max(reduc, s.getResultNum()) == Math.min(s.getResultNum(), plus) ).collect(Collectors.averagingInt(ResultModel::getResultNum)); //获取平均值,总数,最大数,最小数,求和 IntSummaryStatistics summaryStatistics = getNowList.stream().collect(Collectors.summarizingInt(ResultModel::getResultNum)); double avgResult = summaryStatistics.getAverage();int countResult = Math.toIntExact(summaryStatistics.getCount()); int maxResult = Math.toIntExact(summaryStatistics.getMax()); int minResult = Math.toIntExact(summaryStatistics.getMin()); int sumResult = Math.toIntExact(summaryStatistics.getSum());
原文地址:https://www.cnblogs.com/yypr/p/15222089.html
- 人工智能AI(5):线性代数之矩阵、线性空间
- iOS开发进阶篇——FRP与ReactiveCocoa的介绍(一)
- 英伟达修改GeForce软件使用条款:禁止在数据中心运行深度学习等应用
- 浅谈几种SLB技术的实现
- 史上最逼真人形机器人堪比健身教练,技能满满还会流汗
- 被监管前的疏忽?互联网金融大面积逾期,中介行为不容忽视
- 达尔文漏算的一步却让它填补,科学家认为人类最初认可的进化论不再适用
- 假如黑客攻击您的互联网汽车会怎么样?
- 享学课堂谈-Python初学者的设计模式入门
- 本体网络Ontology Zero入选国家工信部区块链开源项目计划
- 完全无人驾驶将首先在中国大城出现
- 榴莲售出的三拼域名ancaiyun.com 已建站
- 微信提现免费!申请微信免费提现的教程
- 程序员也是天文学家?利用机器学习寻找行星
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- numpy 矩阵形状调整:拉伸、变成一位数组的实例
- 使用Nibabel库对nii格式图像的读写操作
- ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
- 使用SimpleITK读取和保存NIfTI/DICOM文件实例
- php中上传文件的的解决方案
- python 实现两个npy档案合并
- PHP使用函数用法详解
- 读取nii或nii.gz文件中的信息即输出图像操作
- PHP实现SMTP邮件的发送实例
- 多个Laravel项目如何共用migrations详解
- PHP实现文字写入图片功能
- php中file_get_contents()函数用法实例
- PHP通过GD库实现验证码功能示例
- Thinkphp 5.0实现微信企业付款到零钱
- 使用npy转image图像并保存的实例