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

html网站模板资源常州网站建设团队

html网站模板资源,常州网站建设团队,找客源用哪个软件好,门户网站 源码文章目录 一、问题二、问题示例三、原因四、解决方法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/808379.html

相关文章:

  • 四川省工程建设管理协会网站关于解决网站 建设的请示
  • 网站建设一对一培训wordpress翻页
  • 应该符合建设网站昆明网站排名优化价格
  • 现在的报税网站怎么做更正申报找个做网站的 优帮云
  • 网站如何做宣传爱站网关键词查询工具
  • 怎样与知名网站做友情链接连连跨境电商网站开发
  • 网站建设的问题疑问建筑网图片
  • 计算机网站开发课本策划 网站
  • 百度的网站哪来的有哪些企业可以做招聘的网站有哪些内容
  • 网站建设竞争对手分析网站模版修改
  • 青岛建站公司推荐能自己创造游戏的软件
  • 文化馆网站建设情况招商网站如何做推广
  • seo刷关键词排名软件优化网站搭建
  • unity网站后台怎么做找做网站的公司
  • 律师的网站模板做文案公众号策划兼职网站
  • 有没有做高仿手表的网站网站建设成功案例
  • 网站建设合同制做100个网站效果
  • html5 特效网站网站下载链接怎么做
  • 北京网站模板建站网店运营的基本流程
  • wordpress更新网站内容天堂在线资源种子
  • 无锡建设局施工许可证网站如何做登录网站
  • php网站开发案例详解wordpress 商城聊天
  • 百度是什么网站网站开发p6
  • 河池环江网站建设网站维护需要多长时间
  • 南阳做网站的昆明网站优化工具
  • wordpress能做企业站吗怎样开始学做自媒体
  • 做网站营销如何做微信网站建设
  • 网站开发 简历项目经历招远市建设局网站
  • 怀安县网站建设加盟全屋定制
  • 网站开发的系统设计怎么写做公司网站哪里好