当前位置: 首页 > news >正文

java-stream转换map key重复报错解决小记

解决key重复问题

在用stream转成map过程中会有key重复的隐患,如果数据没重复还好,如果重复了会提示

java.lang.IllegalStateException: Duplicate key 8753444332651at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133)at java.util.HashMap.merge(HashMap.java:1254)at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320)at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)

其实stream是提供了扩展的接口,当碰到这种场景,可通过

(k1,k2) -> k1

上述的意思是,当k2和k1重复了。也就是key重复了,只取k1的值

示例:

Map<String, String> barcodeMap = service.list(new LambdaQueryWrapper<Entity>().in(Entity::getId, collect)).stream().collect(Collectors.toMap(Entity::getId, Entity::getF1, (k1, k2) -> k1));
http://www.lryc.cn/news/361406.html

相关文章:

  • 王春城 | 如何解决精益转型过程中的信任问题?
  • Ubuntu Nvidia Docker单机多卡环境配置
  • 小公司的软件开发IT工具箱
  • 代码随想录算法训练营第四十四天| 背包问题、背包问题之滚动数组、416. 分割等和子集
  • 最新一站式AI创作中文系统网站源码+系统部署+支持GPT对话、Midjourney绘画、Suno音乐、GPT-4o文档分析等大模型
  • C# 语言类型(二)—预定义类型之字符串及字符类型简述
  • 微信小程序canvas画图使用百分比适配不同机型屏幕达到任何屏幕比例皆可!完美适配任何机型!指定canvas尺寸适配亦可!保证全网唯一完美
  • Redis-02
  • 如何编辑pdf文件内容?编辑技巧大揭秘,秒变办公达人!
  • Linux Shell Script 编写入门
  • 不是从APP store下载的APP在mac上一直提示有损坏,打不开怎么办?
  • ubuntu22.04部署docker版zlmediakit和源码运行wvp-GB28181-pro
  • MySQL表的增删改查初阶(上篇)
  • Spring Boot 集成 zxing 生成条形码与二维码
  • C# 编程基础:注释、变量、常量、数据类型和自定义类型
  • 网络原理-三
  • 使用Ollama搭建一个免费的聊天机器人
  • 计算机网络之快重传和快恢复以及TCP连接与释放的握手
  • vue 引用第三方库 Swpier轮播图
  • RabbitMQ-直连交换机(direct)使用方法
  • 942. 增减字符串匹配 - 力扣
  • 2024华为OD机试真题-机器人搬砖-C++(C卷D卷)
  • 【DevOps】深入了解RabbitMQ:AMQP协议基础、消息队列工作原理和应用场景
  • Mysql 技术实战篇
  • App自动化测试_Python+Appium使用手册
  • k8s-部署对象存储minio
  • go常用命令
  • 【中年危机】程序猿自救指南
  • vueRouter路由总结
  • 算法工程师需要学习C++的哪些知识?