如果在开发的时候就考虑到了key可能重复 , 你需要在这样定义convert2MapByStream方法 , 声明在遇到重复key时是使用新值还是原有值:
private static void convert2MapByStream(List<User> list) { Map<String, String> map = list.stream().collect(Collectors.toMap(User::getName, User::getValue, (oldVal, newVal) -> newVal)); System.out.println(map); }
关于Stream的坑其实还是蛮多的 , 比如寻找list中的某个对象 , 可以使用findAny().get(),你以为是找到就返回找不到就就返回null?依然天真 , 找不到会抛出异常的 , 需要使用额外的orElse方法 。
6、纸上得来终觉浅 , 绝知此事要躬行所谓JDK官方的坑 , 基本上都是因为我们对技术点了解的不够深入 , 望文生义 , 以为是怎样怎样的 , 而实际上我们的自以为是让我们掉进了一个又一个坑里 。
面对着这些坑 , 我流下了学艺不精的眼泪!但也有些坑 , 确实发生的莫名其妙 , 比如吞噬异常 , 没有理解JDK为什么这么设计 。还有些坑 , 误导性确实太强了 , 比如日期计算、list操作等 。最后只能说一句:
纸上得来终觉浅 , 绝知此事要躬行!编码不易 , 且行且珍惜!
推荐阅读
- Alibaba开源Java诊断工具Arthas简单介绍
- 14个 JavaScript 代码优化技巧
- 雕刻|投资翡翠饰品有窍门,作为新手收藏者,掌握这些知识就够了
- 春天来峨眉山,这些地方别错过哦!
- 水星两极地区有一些陨石坑,研究发现这些坑内 火星的地形兼具充满陨石坑
- 31 道 Java 核心面试题,统统打包给你
- 口气太重引人捂鼻?多喝这些茶让口气变清新
- SSHJ - 功能齐全的Java SSH库
- 一 「JAVA」两个数组的交集—力扣每日一题
- Java程序员对领域驱动设计的思考与认知