JDK8 toMap之key重复报Duplicate key xxxx异常解决
最近项目中在使用JDK8中toMap方法遇到因key相同而导致toMap报错的情况,解决方案如下:
Collectors.toMap(keyMapper, valueMapper, mergeFunction)
第一个参数是要生成map的key,第二个参数是新生成map的value,第三个参数是当key发生重复时处理的方法,重复时需要返回一个数值放到当前value处。
示例1:重复时采用后面的value 覆盖前面的value
list.stream().collect(Collectors.toMap(Student::getClassName, Student::getStudentName, (value1, value2 )->{ return value2; }));
示例2:重复时将之前的value 和现在的value拼接或相加起来
list.stream().collect(Collectors.toMap(Student::getClassName, Student::getStudentName, (key1 , key2)-> key1 + "," + key2 ));
示例3:拼接key
list.stream().collect(Collectors.toMap(k -> k.getContentCode() + "_" + k.getContentVersion(), v -> v, (value1, value2 ) -> value2));
到此,问题解决。
JDK8 toMap之key重复报Duplicate key xxxx异常解决相关推荐
- 如何解决Collectors#toMap报Duplicate key xxx错误问题
文章目录 前言 问题复现 解决方案 前言 最近工作中发现同事写代码遗留了一个bug,在使用Collectors.toMap的时候会出现Exception in thread "main&qu ...
- php on duplicate key,php – ON DUPLICATE KEY UPDATE值;两次插入相同的值
我试图插入一些值,如果有一个DUPLICATE KEY UPDATE表人.我正在获取值的插入,但它重复值而不是进行更新.输入字段是动态的,可以添加或删除值.但我试图没有重复的价值观.如何插入新值,如果 ...
- 关于React Native Android打包报Duplicate resources错的解决方法
最近,在给React Native 项目打包的时候遇到如下异常提示: Error: Duplicate resources 此错误的意思是某些资源文件重复,首先尝试了手动删除重复的资源文件,然后再打包 ...
- Python使用fitz库报错、运行异常解决办法
文章目录 一.项目场景 二.解决办法 三.总结 一.项目场景 最近使用到了 fitz 库来操作 PDF 文件,如下是我的工作环境: 系统:Ubuntu21.10 Python版本:Python3.9. ...
- postgres 保存报错duplicate key value violates unique constraint...解决方案_亲测有效
postgres 保存报错duplicate key value violates unique constraint 解决方案 原因分析: 表名: A 表A的主键id 是由序列 x$seq 生成的 ...
- jsqlparser:修改语法定义(JSqlParserCC.jjt)实现UPSERT支持Phoenix语法ON DUPLICATE KEY IGNORE
最近在用jsqlparser4.5解析SQL时遇到了一个问题, 如下是apache phoenix的UPSERT语句 UPSERT INTO TEST (ID, COUNTER) VALUES (12 ...
- JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)
测试又报bug啦 接到测试小伙伴的问题,说是一个接口不返回数据了,好吧,虽然不是我写的接口任务落到头上也得解决,本地调试了一下,好家伙,直接抛了个异常出来,这又是哪位大哥喝醉了写的代码... Exce ...
- JDK8中Collectors.toMap方法报Duplicate key xxx错误信息
两种 list转map方式 方式一:这种方式 重复key的话会报错 Duplicate key xxx Map deviceDtoMap = JsonUtils.toList(deviceDtoLis ...
- JDK8中Collectors.toMap方法报Duplicate key xxx错误信息
今天在使用JDK8中的Collectors.toMap()方法报错,错误信息是Duplicate key xxx,很明显是因为key重复造成的,此时通过使用Collectors.toMap()的重载方 ...
- Collections.toMap 报错 空指针 key重复
Collections.toMap作用 将list按照规则转成map. books.stream().collect(Collectors.toMap(Book::getIsbn, Book::get ...
最新文章
- IDC与村村乐合作服务中国农村市场
- UA MATH636 信息论2 数据压缩
- shujufenxi : baichi xiangzhuanqian
- python 入门第二课2 file的文件操作
- 解析Infopath生成的XSN结构
- 【Linux】七种运行级别
- 【渝粤教育】广东开放大学 演绎娱乐经验管理 形成性考核 (49)
- Linux安装MySQL安装包下载
- centos7安装中文字体
- php 单笔转账到支付宝账户,php之支付宝转账或发红包到指定账户(提现功能)
- 独木舟贪心算法c语言,算法:(贪心算法)-独木舟问题
- vue实现文字翻转效果
- svn is already locked如何解决
- c#加密:二、散列法 MD5、SHA256、SHA512
- PAT10321032 挖掘机技术哪家强 (20 分)
- 如何让DIV水平和垂直居中
- 【PIC32MZ】开发环境的搭建
- 尚学堂Java300答案解析 第三章
- 一元夺宝的2种押注策略分析
- 基于JSP的保险业务管理系统【数据库设计、源码、开题报告】
热门文章
- java-FFmpeg(一) 实现视频的转码和截图功能
- 双浮点运算计算机在线,双浮点运算计算器
- C语言实现【关机程序】
- 计算机术语宏是什么意思,宏(计算机术语)
- MaxDOS V7 PXE网刻教程
- 手机怎么打开html.chm,chm格式文件怎么打开,华为手机chm阅读器哪个好
- 2020最强图像匹配综述论文-Part1
- 解决steam无法启动gta5报错msvcp140.dll丢失
- html5跳转页面接收参数,HTML页面跳转及参数传递问题
- termux配置python安装kali_利用termux安装kali