使用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重复如何解决)】相关推荐

  1. JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)

    测试又报bug啦 接到测试小伙伴的问题,说是一个接口不返回数据了,好吧,虽然不是我写的接口任务落到头上也得解决,本地调试了一下,好家伙,直接抛了个异常出来,这又是哪位大哥喝醉了写的代码... Exce ...

  2. 针对异常java.lang.IllegalStateException onMeasure() did not set the measured dimension解决方法

    针对异常java.lang.IllegalStateException onMeasure() did not set the measured dimension by calling setMea ...

  3. java.lang.IllegalStateException: Error starting child错误的产生与解决

    经过网友解惑, 一般原因有: 1,jar版本不一致 2,servlet配置重复(xml+注解) 3,servlet配置映射少了'/',(路径错误) 严格意义上我的错误是属于第3种, 错在哪呢? 你们看 ...

  4. Exception in thread “main“ java.lang.IllegalStateException: Duplicate key xxx

    debug.. hah- 这个错误是使用stream流把list收集成map搞的,原因是map的key是唯一的,如果不唯一就抛出了这个异常. 下面是异常代码 import java.util.Arra ...

  5. 错误记录:java.lang.IllegalStateException:Duplicate key

    原因 Map中出现了和被转换的List中重复的key记录 try {//发起远程请求R skuHasStock = wareFeignService.getSkusHasStock(skuIds);/ ...

  6. 报错Caused by: java.lang.IllegalStateException: duplicate key: spring

    以上截图是我使用git重复提交5次的结果,第五次提交成功:这个故事告诉我们:当你连续犯好几次错的时候,你离成功就不远了~~~(其实也就是个小问题,yml里面格式的问题~) 1.当我们需要在同一个yml ...

  7. ElasticSearch出现java.lang.IllegalStateException: duplicate plugin: - Plugin information:

    为了使用IK-中文分词器,特地去下载了一个,结果重启动ES之后,进入Kibana可视化界面,出现了503服务不可用:一开始以为是Kibana还没注册进ES中,结果等待了一会还是如此. 1.使用dock ...

  8. 异常解决:java.lang.IllegalStateException: Failed to introspect Class

    java.lang.IllegalStateException: Failed to introspect Class 异常详情 原因 解决办法 异常详情 Exception encountered ...

  9. 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 ...

最新文章

  1. 广西2021各校高考成绩查询入口,2021年广西高考成绩排名查询系统,广西高考位次排名查询...
  2. PHP如何保存当前用户
  3. 阿里云混合云的政企上云新路径
  4. oracle number类型_一文看懂Oracle分页实现方案的三种方式
  5. UnhookWindowsHookEx
  6. 一文带你掌握Redis操作指南
  7. easyUI 如何不跳转页面,只是加载替换center部分内容
  8. interface_cast做什么的?
  9. 【python之路10】python实例练习
  10. 在WPF中自定义控件(1)
  11. 成为java架构师需要几年,详细说明
  12. select默认选中
  13. 市场app应用类型分类有哪些?app应用管理
  14. 1419D2 Sage‘s Birthday
  15. 【案例】全国知名网上书城——基于企业中台构建智慧悦读体验
  16. Vs2005中操作WORD
  17. 你知道怎么查看 IP 地址吗?
  18. tomcat 项目发布失败原因_WebSocket项目部署不成功,Tomcat启动不了,会是什么原因?...
  19. 查看Eigen、CMake、ceres、opencv版本
  20. windows系统RNDIS驱动手动安装

热门文章

  1. Android 表情功能的完整处理方案
  2. 亲身历时两个月,这可能是一篇最全面的2021大厂技术岗实习面经
  3. 实验向:neural-doodle amp; fast neural-doodle demo 复现流程
  4. NR DCI Format介绍
  5. SMTPSendFailedException: 554
  6. 如何安装运行php网站,php运行环境如何安装
  7. 灵魂拷问!Mysql和Redis数据同步该怎么做?请查收
  8. sscanf gps 解析
  9. 论文阅读|两人零和马尔可夫博弈的在线极大极小Q网络学习《Online Minimax Q Network Learning for TZMGs》
  10. 为穷苦大众发布的Linux内核新版本