Collections.toMap 报错 空指针 key重复
Collections.toMap作用
将list按照规则转成map。
books.stream().collect(Collectors.toMap(Book::getIsbn, Book::getName));
存在的各种坑
空指针
key值重复
空指针 & key重复
重复key 后边会覆盖前边的值
描述问题:当value为null的时候会抛出异常(Book::getName)
Map<Integer, Boolean> collect = list.stream().collect(HashMap::new, (m,v)->m.put(v.getId(), v.getAnswer()), HashMap::putAll);
点赞最高的解决方案,其实跟你手动foreach一毛一样。
https://stackoverflow.com/questions/24630963/java-8-nullpointerexception-in-collectors-tomap
只key值重复 解决
如果说key值一样也会报错,需要调用它的另一个函数:
public static void main(String[] args) {List<ContentAnnouncement> list = new ArrayList<>();Map<String, String> map = list.stream().collect(Collectors.toMap(ContentAnnouncement::getTitle, ContentAnnouncement::getAnnouncement, (e1, e2) -> e1));map.forEach((key, value) -> System.out.println(key + " " + value));}
(e1, e2) -> e1)这个是如果出现重复key一样,会只保存之前的value,后面的都去掉
Collections.toMap 报错 空指针 key重复相关推荐
- mysql 报错 Specified key was too long; max key length is 767 bytes,开启系统变量:innodb_large_prefix
mysql 报错 Specified key was too long; max key length is 767 bytes 当mysql数据库的字符集使用了utf8mb4,就很容易在执行建表sq ...
- eclipse spring mysql,eclipse环境下的springboot框架+mybatis访问MySQL报错空指针
"/")public classTestController { @RequestMapping("/login")publicString login() { ...
- KEIL 不使用microlib 报错__stdin __stdout重复定义
keil不使用microlib,在文件中添加如下函数,重定向printf void _sys_exit(int x) { x = x; } FILE __stdout; FILE __stdin; i ...
- android报错空指针_Android空指针的问题。。
============问题描述============ android 空指针搞了二天了,还是没找到错误,知道那里报空指针但不知道怎么改 有空的哥们帮帮忙qq517835354 报错代码: Gast ...
- postgres 保存报错duplicate key value violates unique constraint...解决方案_亲测有效
postgres 保存报错duplicate key value violates unique constraint 解决方案 原因分析: 表名: A 表A的主键id 是由序列 x$seq 生成的 ...
- linux centos7 yum 报错 Public key for *.rpm is not installed 解决方法
报错信息: [root@localhost backup]# yum -y install net-snmp Loaded plugins: fastestmirror Repository base ...
- sshpass报错Host key verification failed
通过sshpass命令执行从本地A服务器复制数据库文件到B服务器上. # sshpass -p 'a@123456' scp -P 22 /home/data.sql.gz root@10.0.0.2 ...
- 使用mybatisplus自动生成实体类对象报错configuration key ‘file.resource.loader.unicode‘ has been deprecated in favo
报错信息 [09:41:49.180] [WARN ] [main] [org.apache.velocity.deprecation] [configuration key 'file.resour ...
- mysql 8.0 解决报错Public Key Retrieval is not allowed
项目中数据库mysql从5.7升到8.0后启动报错:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not a ...
最新文章
- R语言数据结构之数据框
- python mqtt tls_python mqtt使用
- 机器学习实战 | 意大利Covid-19病毒感染数学模型及预测(附代码)
- LeetCode 64. 最小路径和(DP)
- 如何使用API提交转码任务?
- 前端基础-html-路径的介绍
- Console.log对象显示
- nvm 和 nrm 的安装与使用
- PHP连接MongoDB
- 【数据仓库与OLAP技术】期末复习+考题
- Qt VS Tools插件官方下载及安装
- android 连接本地设备,从USB连接的Android移动设备访问PC的本地主机
- 多层感知机的从零开始实现( 从D2L 包中抽取函数)
- 黑客攻击欧洲港口石油设施致油价飙升、上海首份《企业数据合规指引》出台、微软计划收购网络安全公司|网络安全周报
- 项目经理在团队不同阶段的领导风格
- 微信“小程序”来了,短期不可高估,长期不可低估
- Ls-Dyna 软件简介 (1)
- 进阶实验 2-3.1 海盗分赃(25 分)
- C语言 详解如何编写闪烁显示字符串的函数
- [Digital IC]RFID文献笔记
热门文章
- java在线编译器_什么是Java内存模型
- docker快速搭建RabbitMQ集群
- linux双系统重装win7系统下载,Windows与Ubuntu双系统重装WIN7后修复Grub2
- SpringBoot项目redis的消息队列
- bp神经网络代码_精通数据科学笔记 神经网络
- java导出oracle到excel_java实现将oracle表中的数据导出到excel表里
- Appium 与 Chromedriver
- 华为新机搭载鸿蒙os,华为5G巅峰之作:2K超清屏幕+鸿蒙OS2.0+3D结构光 颜值与性能并存...
- pom文件报错_解决mac下tess4j文字识别报错问题
- python分位数回归模型_如何理解分位数回归风险价值 (VaR) 模型?