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

作网站公司医疗服务网站素材

作网站公司,医疗服务网站素材,开发一个商城需要多少钱,互联网广告销售文章目录 一、问题二、问题示例三、原因四、解决方法4.1、方案一 一、问题 发现Collectors.toMap的一个坑,若key值重复的时候会抛异常。如: IllegalStateException: Duplicate key 男 二、问题示例 报错示例如下: import lombok.AllArgsC…

文章目录

  • 一、问题
  • 二、问题示例
  • 三、原因
  • 四、解决方法
    • 4.1、方案一

一、问题

发现Collectors.toMap的一个坑,若key值重复的时候会抛异常。如: IllegalStateException: Duplicate key 男

二、问题示例

报错示例如下:

import lombok.AllArgsConstructor;
import lombok.Data;import java.util.*;
import java.util.stream.Collectors;public class Test {public static void main(String[] args){List<User> list = new ArrayList<>();User u1 = new User("张三","男");User u2 = new User("张三","女");list.add(u1);list.add(u2);//key:姓名  value:性别Map<String,String> userMap = list.stream().collect(Collectors.toMap(User::getName, User::getSex));System.out.println(userMap);}
}@Data
@AllArgsConstructor
class User{//姓名private String name;//性别private String sex;
}

报错信息:

Exception in thread "main" java.lang.IllegalStateException: Duplicate key 男at 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)at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)at com.springboot.store.Test.main(Test.java:17)

三、原因

根据上面报错信息找到报错代码,
java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133)
在这里插入图片描述

四、解决方法

4.1、方案一

为了解决key值重复情况,你可以通过提供一个合并函数来解决键冲突的问题。下面是一个示例,展示了如何使用 toMap 的四参数版本来避免抛出异常,并选择保留最后一个值:

import lombok.AllArgsConstructor;
import lombok.Data;import java.util.*;
import java.util.stream.Collectors;public class Test {public static void main(String[] args){List<User> list = new ArrayList<>();User u1 = new User("张三","男");User u2 = new User("张三","女");list.add(u1);list.add(u2);//key:姓名  value:性别Map<String,String> userMap = list.stream().collect(Collectors.toMap(User::getName, User::getSex,(oldValue,newValue)->newValue));System.out.println(userMap);}
}@Data
@AllArgsConstructor
class User{//姓名private String name;//性别private String sex;
}

输出结果:

{张三=}

可以看到最后的效果是使用新的值替换旧的值。所以输出的是

http://www.dtcms.com/wzjs/545467.html

相关文章:

  • 做网站前的准备最好看免费观看高清大全新员工
  • 做网站如何上传apk网站建设毕业实践设计报告
  • 网站建设选题意义简单建网站
  • 常德自助建站seo学做网站要什么学历
  • 苏州网站建设官网找兼职做网站建设
  • 网站开发与网页制作华为荣耀商店
  • 临沧市建设局网站20个简单的网页设计作品
  • 万户网络建一个网站虽要多少钱营销型网站制作建设
  • 网站做百度推广怎么推广网站网站套站
  • 联盟网站wordpress创建新页面
  • 企业网站建设开发免费logo在线设计生成
  • 在线教育网站流量是怎样做的seo 优化公司
  • 网站建设公司的会计分录安徽建筑工程信息网
  • 网站建设要域名和什么科目1核2g+做网站
  • 深圳响应式网站建设公司小型服务器做网站
  • 看装修效果图哪个网站好优化排名 生客seo
  • 美团网站开发高德地图开发平台
  • 网站 内容 制作食品网站建设优化案例
  • 网站建设投入产出分析企业网络营销策略分析
  • 毛站网站建设管理与维护
  • 浏览器看外国网站做室内装修的网站
  • 视频类的网站制作wordpress目录只显示第一个图片
  • 济宁市环保局建设项目审批网站律师网站建设 优帮云
  • 学校网站怎么做优化wordpress设置当前页面标题
  • 想办个网站怎么做中国关于生态文明建设的网站
  • 新闻资讯网站怎么做南昌智能建站模板
  • 企业注册信息查询网站网站制作百度
  • 前端自己做博客网站wordpress博客插件
  • 白云网站建设多少钱wordpress首页错位
  • 建设银行报网站网站建设工资