1.如何将一个List转为map,并指定map的key和value?

  • 首先通过.stream()将List转为流,然后通过终止操作方法collect将流转化为其他形式,接收一个Collector接口的实现,用于给Stream中元素做汇总的方法;通过toMap把流中的元素收集到Map中。toMap中有两个参数,第一个用来设定Key,第二个用来设定value。
  • 这里就是调用OperationUnitVO这个对象里面的getOuCode方法,来获取到ouCode值设为Key;设置value同理
List<OperationUnitVO> dbOus = commonRepository.selectOuByCodes(userDetails.getTenantId(), ouCodes);
Map<String, Long> ouIdAndOuCodeMap = dbOus.stream().collect(Collectors.toMap(OperationUnitVO::getOuCode, OperationUnitVO::getOuId));

2.toMap时设定的key有重复怎么办?

  • 一般toMap时只用到两个参数,第一个设定Key,第二个设定value。但如果Key重复的话,那就需要用到第三个参数,可以这么写(v1, v2)-> v1。什么意思呢,就是说如果v1和v2的key都相同,那么只取v1的值去覆盖之前的值,也可以改为取v2的值,这样就解决了duplicate key的问题
List<ItemVO> itemVos = commonRepository.selectItemByOuCodes(userDetails.getTenantId(), ouCodes);Map<String, Long> itemNumAndItemIdMap = itemVos.stream().collect(Collectors.toMap(ItemVO::getItemNumber, ItemVO::getItemId, (v1, v2) -> v1));

stream流转toMap的使用以及Key重复的解决相关推荐

  1. Collections.toMap 报错 空指针 key重复

    Collections.toMap作用 将list按照规则转成map. books.stream().collect(Collectors.toMap(Book::getIsbn, Book::get ...

  2. java.lang.IllegalStateException: Duplicate key 【java8 toMap(key重复如何解决)】

    使用stream的toMap()函数时,当key重复,系统会报错相同的key不能形成一个map,那么需要解决这个问题, 1.首先查看库中数据结构,相同人员编号存在多条关键词(arr_gic) List ...

  3. java8 toMap(key重复如何解决)

    使用stream的toMap()函数时,当key重复,系统会报错相同的key不能形成一个map,那么需要解决这个问题,一:相同key的情况下,丢弃重复的只保留一个,二:相同key的情况下,把value ...

  4. mysql primary key 多个_关于mysql中primary key重复的解决方法

    我们都知道MySQL数据库中是讲究primarykey的唯一性的,如果primarykey出现了重复,则会影响其他的表制定的规则. 今天我们要和大家一起分享的是Mysql数据库中primarykey重 ...

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

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

  6. Java8中stream()操作toMap()时Duplicate key问题解决

    问题描述: 最近使用Java8中Steam()流进行tomap转换编程时,遇到以下错误 java.lang.IllegalStateException: Duplicate key bbbat jav ...

  7. JDK8中Collectors.toMap方法报Duplicate key xxx错误信息

    两种 list转map方式 方式一:这种方式 重复key的话会报错 Duplicate key xxx Map deviceDtoMap = JsonUtils.toList(deviceDtoLis ...

  8. JDK8中Collectors.toMap方法报Duplicate key xxx错误信息

    今天在使用JDK8中的Collectors.toMap()方法报错,错误信息是Duplicate key xxx,很明显是因为key重复造成的,此时通过使用Collectors.toMap()的重载方 ...

  9. java8 对象转map时重复key Duplicate key 该如何解决?

    我们在利用java8  Lambda 表达式将集合中对象的属性转成Map时就会出现 Duplicate key  xxxx , 说白了也就是key 重复了!案例如下: @Data @NoArgsCon ...

  10. Stream中toMap引发NullPointerException____Stream的执行流程

    Stream中toMap引发NullPointerException 1.引发NullPointerException的代码如下: List<SelfSettlementCardInfoDto& ...

最新文章

  1. ubuntu 16.04下安装oracle jdk 1.7
  2. aapt: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64
  3. Java 虚拟机诊断利器
  4. Nun Heh Heh Aaaaaaaaaaa 字符串,dp
  5. 手写简版spring --8--Aware感知容器对象Aware感知容器对象
  6. GDI+绘制极坐标图(Polar Diagram)
  7. BZOJ1857:[SCOI2010]传送带——题解
  8. Kubernetes的Device Plugin设计解读
  9. 【算法】剑指 Offer 12. 矩阵中的路径
  10. puppet连载15:搭建zabbix服务端、客户端
  11. php的$符的作用,PHP引用符的用法举例
  12. 异或运算符 判断奇偶
  13. 在html中加入滚动条,html滚动条 textarea属性设置
  14. CesiumJS 中文学习手册
  15. python9行代码_如何用9行Python代码编写一个简易神经网络
  16. libGDX的启动类和配置
  17. java执行sql列名无效_sqlserver列名无效调试及解决方法
  18. 以太坊白皮书[中文]
  19. 多代理区块链框架客户端的操作
  20. 手机POS机支付能否挑战支付宝、微信?

热门文章

  1. BackTrack5(BT5)各版本下载
  2. warehouse提供的免费oracle学习视频
  3. python sys库
  4. 五本最有内容的电子杂志
  5. pwm波如何控制电机代码_如何通过PLC控制伺服电机?
  6. Steam DS4手柄
  7. 从Simulink到PX4——Simulink-PX4插件安装与环境搭建
  8. 色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)
  9. 米思齐Mixly图形化编程---数管码时钟
  10. Netty:原理架构解析