当前位置: 首页 > news >正文

多个List 合并变成一个List+一个List 根据某个字段相等的另一个字段相加,并排序变成新的List

List<CurveTimeAndValueDomain> curves = new ArrayList<>();for (int i = 0; i < columnNames.size(); i++){if (columnNames.get(i).equals(PlantConstant.TENDOWNFX) || columnNames.get(i).equals(PlantConstant.TENDOWNQP)) {//10千伏以下 数据 进行缓慢处理curveTimeAndValueDomains = gently(belongDay, columnNames.get(i));}else{//一个一个场站加curveTimeAndValueDomains = curveManagerCommonMapper.selectSinglePlantPowerDay2(belongDay, columnNames.get(i), belongDay.substring(0, 4));}if(!Objects.isNull(curveTimeAndValueDomains)){for (CurveTimeAndValueDomain curve:curveTimeAndValueDomains){curves.add(curve);}}}

第一步:将多个List 相加

for (CurveTimeAndValueDomain curve:curveTimeAndValueDomains){curves.add(curve);}

 第二步:将加起来的List 中:time 相同的value值相加

//将曲线中 time 相同的 value 相加 并 去重List<CurveTimeAndValueDomain>  newCurve = merge(curves);public static List<CurveTimeAndValueDomain> merge(List<CurveTimeAndValueDomain> curves){Map<String,CurveTimeAndValueDomain> map = new HashMap<>();curves.stream().forEach(curve ->{CurveTimeAndValueDomain last = map.get(curve.getTime());if (null != last){if(!Objects.isNull(last.getValue())){curve.setValue(curve.getValue().add(last.getValue()));}}map.put(curve.getTime(),curve);});return map.values().stream().collect(Collectors.toList());}

第三步:将新的到的newCurve  List 排序

//按照time 进行排序newCurve.sort((curve1,curve2)->{Integer time1 = Integer.parseInt(curve1.getTime().replace(":",""));Integer time2 = Integer.parseInt(curve2.getTime().replace(":",""));return time1.compareTo(time2);});

http://www.lryc.cn/news/103767.html

相关文章:

  • 华为流程体系:流程架构「OES方法」
  • c# 创建一个未定义类的临时对象列表
  • el-button增加下载功能
  • prometheus和cAdvisor组合
  • 计算机网络(2) --- 网络套接字UDP
  • Idea 结合docker-compose 发布项目
  • django
  • c++游戏框架
  • v-model绑定checkbox无法动态更新视图
  • 原生html—摆脱ps、excel 在线绘制财务表格加水印(html绘制表格js加水印)
  • 微信小程序配置上传多个u-upload上传
  • python使用win32com库实现对Excel的操作
  • <Maven>项目依赖导入Maven本地仓库命令
  • 爬虫006_python中的运算符_算术运算符_赋值运算符_复合赋值运算符_比较运算符_逻辑运算符_逻辑运算符性能提升---python工作笔记024
  • CPU Architecture Methodologies
  • Spring的@Scheduled
  • IP隧道技术原理
  • Docker私有仓库
  • LLM微调 | Prefix-Tuning, Prompt-Tuning, P-tuning, P-tuning-v2
  • Ansible 的脚本 --- playbook 剧本
  • CSP-J模拟赛 / 买文具
  • leecode算法--每日一题1
  • LViT:语言与视觉Transformer在医学图像分割
  • 蓝桥杯上岸每日N题 第五期(山)!!!
  • IDEA Writing classes... 比较慢
  • opencv中轮廓相关属性
  • Leetcode 144. 二叉树的前序遍历
  • 医学影像PACS系统源码:多功能服务器和阅片系统
  • php 生成连续递增的Excel列索引 可以控制多少列
  • Openstack等私有云