Java中List集合转Map集合报错:Duplicate key

Posted 遇见美好,遇见妳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中List集合转Map集合报错:Duplicate key相关的知识,希望对你有一定的参考价值。

一、问题由来

  最近生成环境刚发布了一个版本,本人负责优化的一个功能在进行测试时,报错了一个异常,duplicate key;去百度里面看了一下,

意思很明确就是建重复,而且错误是在Java代码中抛出来的。

 

 

二、问题分析

  自己立马去查看Java代码,发现这样写是没有问题的,问题出在查询出来的结果进行转换时,键有重复的,可是有不同的值。因此

才报了一个键重复的错误。搞清楚问题的原因后就知道怎么解决了。
三、解决方案

  解决办法的核心就是让返回的结果中,键没有重复的值,这样就可以解决问题。这个是原来错误的查询语句,

 

 更改后的查询语句为

 

 主要做了两个改动,一个是按照键进行分组查询,这样就可以去重,其次是取值时,使用max函数取最大值即可。发布到测试环境,添加了测试数据

后,测试结果正确,修改 方式可行。

以上是关于Java中List集合转Map集合报错:Duplicate key的主要内容,如果未能解决你的问题,请参考以下文章

java中Map,List与Set的区别(转)

JAVA Collection接口中List Map 和Set的区别(转)

java操作数组转list集合删除元素报错ConcurrentModificationException

java map集合赋值 key值相同覆盖问题

java 取list集合中出现次数最多的值

解决Java里Map集合中String类型转Integer类型错误