java 数据聚合_Java数据聚合问题请教?
时间: 2021-01-07 02:38:41
标签:
javascript
Java数据聚合问题
public class Demo {public static void main(String[] args) throws IOException {
HashMap m1 = new HashMap<>();
m1.put("month","2020-06");
m1.put("plan_working_hours",272.5);
m1.put("month_total_working_hours",120);
m1.put("project_code","ToB-APP");
m1.put("this_years_total_working_hours",287);
m1.put("project_name","B端APP框架");
m1.put("total_working_hours",307);
HashMap m2 = new HashMap<>();
m2.put("month","2020-07");
m2.put("plan_working_hours",272.5);
m2.put("month_total_working_hours",93);
m2.put("project_code","ToB-APP");
m2.put("this_years_total_working_hours",287);
m2.put("project_name","B端APP框架");
m2.put("total_working_hours",307);
HashMap m3 = new HashMap<>();
m3.put("month","2020-11");
m3.put("plan_working_hours",104);
m3.put("month_total_working_hours",16);
m3.put("project_code","1001");
m3.put("this_years_total_working_hours",67);
m3.put("project_name","C端底座");
m3.put("total_working_hours",150);
HashMap m4 = new HashMap<>();
m4.put("month","2020-12");
m4.put("plan_working_hours",104);
m4.put("month_total_working_hours",51);
m4.put("project_code","1001");
m4.put("this_years_total_working_hours",67);
m4.put("project_name","C端底座");
m4.put("total_working_hours",150);
ArrayListmaps = new ArrayList<>();
maps.add(m1);
maps.add(m2);
maps.add(m3);
maps.add(m4);
//todo 做数据聚合(
// 将project_name值相同的数据中的month和month_total_working_hours聚合到一个list中
// 每个project_name只有一个map数据)
/**
* 格式如下
*
* {
* "monthList": ["2020-06":120 ,"2020-07":93]
* "plan_working_hours": 272.5,
* "project_code": "ToB-APP",
* "this_years_total_working_hours": 287,
* "project_name": "B端APP框架",
* "total_working_hours": 307
* },
*/
}
}
最佳答案
Map one = Maps.newHashMap();
one.put("one",1);
one.put("two",2);
Map two = Maps.newHashMap();
two.put("one",1);
two.put("two",2);
List> list = Lists.newArrayList();
list.add(one);
list.add(two);
Set keySet = one.keySet();
Map> result = list.stream().reduce(new HashMap<>(), (s, o) -> {
keySet.forEach(a -> {
if (s.containsKey(a)) {
List value = s.get(a);
value.add(o.get(a));
} else {
List value = Lists.newArrayList();
value.add(o.get(a));
s.put(a, value);
}
});
return s;
}, (s, o) -> s);
System.out.println(result);
java 数据聚合_Java数据聚合问题请教?相关推荐
- java 聚合_Java 8 聚合操作详解
Oracle在2014年3月19日如期发布了Java 8.Java 8版本被认为是具有里程碑意义的一个版本,Oracle在该版本中添加了许多新特性,包括Lambda表达式.方法引用.加强了安全等等. ...
- java电台数据解析_Java数据解析---SAX
一.Sax解析 是从头到尾逐行逐个元素读取内容,修改较为不便,但适用于只读的大文档. Sax采用事件驱动的方式解析文档.简单点说,如同在电影院看电影一样,从头到尾看一遍就完了,不能回退(Dom可来来回 ...
- java protobuffer序列化_Java数据通讯中使用Googgle Protobuf 序列化与反序列化
概念 1.什么是protocol buffer ProtocolBuffer是用于结构化数据串行化的灵活.高效.自动的方法,有如XML,不过它更小.更快.也更简单.你可以定义自己的数据结构,然后使用代 ...
- java的聚合_java中聚合是什么
java中聚合是一种特殊的关联形式,它是两个类之间的关系,是一种HAS-A关系,是一种单向关联.如果类具有实体引用,则称为聚合. 举个例子:在一个有这么两个类Studentclass和Addressc ...
- java数组类型转换_java数据类型转换和数组总结
流程控制 分支 循环语句 if...else... if...else if...else switch(值0) { ------------值0是什么类型, case后面的值就要是 ...
- java 数据验证_Java 数据验证
在web开发当前就会遇到一些数据有效性验证的相关代码编写. 一般的写法如: public class User { public String username; public String pass ...
- java 的数据类型转换_java数据类型转换汇总
Java的数据类型的转换一般分为三种,分别是:简单数据类型之间的转换.字符串与其他数据类型的转换.其他实用数据类型的转换. 一.简单数据类型之间的转换 在java中,整型.实型.字符型被视为简单数据类 ...
- java 数据截断_java – 数据截断:第1行的列’标志’的数据太长
我试图将一张照片插入一个MySQL表的BLOB列,我得到一个例外: Data too long for column 'logo' at row 1. 这是JDBC: int idRestaurant ...
- java 类型转换方法_java数据类型转换的常见方法
public class Testfun { public static void main(String[] args) { // (一)跨Number父类的类型转换 // 1.str转int =& ...
最新文章
- mirna富集分析_2020年的3+分ceRNA分析长啥样?
- ps cs3中显示任何像素不大于50%选择。选区边将不可见是什么意思
- pandas删除某列有空值的行_Python-零基础学习Pandas知识点整理(2)
- 2016级算法第二次上机-F.ModricWang's Number Theory II
- Nginx常用命令有哪些?
- linux服务chm,linux系统服务 chm
- 我们为什么活得这么累
- 《出发吧一起》第二阶段个人总结——Day01
- Linux cat 命令用法
- 计算机怎么用字节表示300,网速300兆是什么意思(图文)
- 原生JS实现一个无缝轮播图插件(支持vue)
- 送走2007 ^_^ 迎来2008
- android原生桌面,谷歌官方出品的安卓原生桌面App 轻松干掉你手机上臃肿的的桌面!...
- 数字图像处理之matlab大作业:美图秀秀
- Windows安全配置
- Kafka ~ 消息队列之推还是拉
- 【C语言】扫雷游戏详解及完整代码
- youtube-dl 下载 playlist 命令
- 转:查理·芒格:让打击和麻烦成为成长的契机
- java bks证书_jks bks 等的定义 如何将jks转化为bks的
热门文章
- 最牛逼的核心框架,没有之一!
- 35岁老码农:老板,你看我还有机会吗?
- 选择大于努力?某程序员吐槽:自己毕业去了百度,技术不如自己的室友去了快手,如今股票1500万!...
- 新同事不讲武德,乱写 SQL 偷袭我!!
- 携程数据库高可用架构实践
- 人人都能看懂的 6 种限流实现方案!(纯干货)
- 漫话:如何给女朋友解释什么是系统可用性?
- 做程序员10年了,复制粘贴是我最牛逼的技能,从菜鸟兑变成大牛,直到看了这些大佬的公众号...
- 什么是OKR?目标管理如何做?
- 第11章 UART 串口通信(手把手教你学51单片机pdf部分)