java.lang.IllegalStateException: Duplicate key 【java8 toMap(key重复如何解决)】
使用stream的toMap()函数时,当key重复,系统会报错相同的key不能形成一个map,那么需要解决这个问题,
1、首先查看库中数据结构,相同人员编号存在多条关键词(arr_gic)
List xszyList = xszyMapper.query(TZhbaXszy.builder().cBjbrbhList(bjbrBhList).build().fetchAll());
//按照bjbrBh->xszy的映射,一个人多个摘要的时候,摘要进行拼接
Map<String, List> bjbrToZyMap = xszyList.stream().collect(Collectors.toMap(TZhbaXszy::getCBjbrbh, TZhbaXszy::getArrGjc));
报错:
2、解决方法
①相同key的情况下,丢弃重复的只随机保留一个
//bjbrBh->xszy的映射,一个人多个摘要的时候,摘要进行拼接
Map<String, List> bjbrToZyMap = xszyList.stream().collect(
Collectors.toMap(TZhbaXszy::getCBjbrbh, TZhbaXszy::getArrGjc,(g1,g2)->g2));
②相同key的情况下,把value变成list,形成Map(Object,List)的形式。
//bjbrBh->xszy的映射,一个人多个摘要的时候,摘要进行拼接
Map<String, List> bjbrToZyMap = xszyList.stream().collect(
Collectors.toMap(TZhbaXszy::getCBjbrbh, TZhbaXszy::getArrGjc,(
List oldList,List newList)->{
oldList.addAll(newList);
return oldList;
}));return bjbrToZyMap;
③相同key的情况下,丢弃重复的比较后保留一个
//bjbrBh->xszy的映射,一个人多个摘要的时候,摘要进行拼接
Map<String, List> bjbrToZyMap = xszyList.stream().collect(
Collectors.toMap(TZhbaXszy::getCBjbrbh, TZhbaXszy::getArrGjc,(g1,g2)->g1>=g2?g1:g2));
java.lang.IllegalStateException: Duplicate key 【java8 toMap(key重复如何解决)】相关推荐
- JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)
测试又报bug啦 接到测试小伙伴的问题,说是一个接口不返回数据了,好吧,虽然不是我写的接口任务落到头上也得解决,本地调试了一下,好家伙,直接抛了个异常出来,这又是哪位大哥喝醉了写的代码... Exce ...
- 针对异常java.lang.IllegalStateException onMeasure() did not set the measured dimension解决方法
针对异常java.lang.IllegalStateException onMeasure() did not set the measured dimension by calling setMea ...
- java.lang.IllegalStateException: Error starting child错误的产生与解决
经过网友解惑, 一般原因有: 1,jar版本不一致 2,servlet配置重复(xml+注解) 3,servlet配置映射少了'/',(路径错误) 严格意义上我的错误是属于第3种, 错在哪呢? 你们看 ...
- Exception in thread “main“ java.lang.IllegalStateException: Duplicate key xxx
debug.. hah- 这个错误是使用stream流把list收集成map搞的,原因是map的key是唯一的,如果不唯一就抛出了这个异常. 下面是异常代码 import java.util.Arra ...
- 错误记录:java.lang.IllegalStateException:Duplicate key
原因 Map中出现了和被转换的List中重复的key记录 try {//发起远程请求R skuHasStock = wareFeignService.getSkusHasStock(skuIds);/ ...
- 报错Caused by: java.lang.IllegalStateException: duplicate key: spring
以上截图是我使用git重复提交5次的结果,第五次提交成功:这个故事告诉我们:当你连续犯好几次错的时候,你离成功就不远了~~~(其实也就是个小问题,yml里面格式的问题~) 1.当我们需要在同一个yml ...
- ElasticSearch出现java.lang.IllegalStateException: duplicate plugin: - Plugin information:
为了使用IK-中文分词器,特地去下载了一个,结果重启动ES之后,进入Kibana可视化界面,出现了503服务不可用:一开始以为是Kibana还没注册进ES中,结果等待了一会还是如此. 1.使用dock ...
- 异常解决:java.lang.IllegalStateException: Failed to introspect Class
java.lang.IllegalStateException: Failed to introspect Class 异常详情 原因 解决办法 异常详情 Exception encountered ...
- viewpager2异常: java.lang.IllegalStateException: Fragment no longer exists for key f#1: unique id 8052
异常信息: java.lang.IllegalStateException: Fragment no longer exists for key f#1: unique id 805285bc-7a1 ...
最新文章
- 广西2021各校高考成绩查询入口,2021年广西高考成绩排名查询系统,广西高考位次排名查询...
- PHP如何保存当前用户
- 阿里云混合云的政企上云新路径
- oracle number类型_一文看懂Oracle分页实现方案的三种方式
- UnhookWindowsHookEx
- 一文带你掌握Redis操作指南
- easyUI 如何不跳转页面,只是加载替换center部分内容
- interface_cast做什么的?
- 【python之路10】python实例练习
- 在WPF中自定义控件(1)
- 成为java架构师需要几年,详细说明
- select默认选中
- 市场app应用类型分类有哪些?app应用管理
- 1419D2 Sage‘s Birthday
- 【案例】全国知名网上书城——基于企业中台构建智慧悦读体验
- Vs2005中操作WORD
- 你知道怎么查看 IP 地址吗?
- tomcat 项目发布失败原因_WebSocket项目部署不成功,Tomcat启动不了,会是什么原因?...
- 查看Eigen、CMake、ceres、opencv版本
- windows系统RNDIS驱动手动安装
热门文章
- Android 表情功能的完整处理方案
- 亲身历时两个月,这可能是一篇最全面的2021大厂技术岗实习面经
- 实验向:neural-doodle amp; fast neural-doodle demo 复现流程
- NR DCI Format介绍
- SMTPSendFailedException: 554
- 如何安装运行php网站,php运行环境如何安装
- 灵魂拷问!Mysql和Redis数据同步该怎么做?请查收
- sscanf gps 解析
- 论文阅读|两人零和马尔可夫博弈的在线极大极小Q网络学习《Online Minimax Q Network Learning for TZMGs》
- 为穷苦大众发布的Linux内核新版本