首页 > 编程语言 >java Map实体内容遍历后重建 map 空指针处理

java Map实体内容遍历后重建 map 空指针处理

时间:2022-08-30 11:44:06浏览次数:60  
标签:Map 遍历 java HashMap stream map

java Map实体内容遍历后重建 map 空指针处理

Map<String, Object> map = new HashMap<>();
// NullPointerException
Map<String, Object> map1 = map
    .entrySet()
    .stream()
    .collect(toMap(Map.Entry::getKey, Map.Entry::getValue));
// 正常
Map<String, Object> map2 = map
    .entrySet()
    .stream()
    .collect(HashMap::new, (m, v) -> m.put(v.getKey(), v.getValue()), HashMap::putAll);

如果未指定map生成即数据处理规则,默认的 toMap,使用了 java.util.stream.Collectors#uniqKeysMapAccumulator,其内容如下
image

标签:Map,遍历,java,HashMap,stream,map
From: https://www.cnblogs.com/listjiang/p/16638777.html

相关文章

  • idea 编译 错误 Error:java: Compilation failed: internal java compiler error 解决
    手动修改(可能会被idea自动改回1.5)修改为对应的编译版本在工程的pom中添加如下配置<build><plugins><plugin><groupId>org.apache.maven.......
  • 力扣372(java)-超级次方(中等)
    题目:你的任务是计算 ab 对 1337取模,a是一个正整数,b是一个非常大的正整数且会以数组形式给出。示例1:输入:a=2,b=[3]输出:8示例2:输入:a=2,b=[1,0]输出:102......
  • Java SPI与SpringBoot 自动配置
    JavaSPI设计思想1、使用约定的配置文件2、谁提供jar包,也要负责提供配置文件3、使用ClassLoader的getResource和getResources方法,来读取classpath中的配置文件 Sprin......
  • 除了Guava,Java开发者还值得了解的5个谷歌类库
    Guava是谷歌基于Java1.6的一个类库集合的扩展项目,包含了许多谷歌核心的Java常用库。除开Guava,还有一些谷歌的常用Java类库也值得我们关注,本文列出了其中的五个类库......
  • Java正确比较浮点数的方法
    https://www.jb51.net/article/199220.htm 看下面这段代码,将d1和d2两个浮点数进行比较,输出的结果会是什么?123doubled1=.1*3;doubled2=.3;......
  • 降低Java垃圾回收开销的5条建议
    保持GC低开销的窍门有哪些?随着一再拖延而即将发布的Java9,G1(“GarbageFirst”)垃圾回收器将被成为HotSpot虚拟机默认的垃圾回收器。从serial垃圾回收器到C......
  • java枚举
    ......
  • Java中Thread类的常用API以及使用示例
    场景Java语言是支持多线程的,一个正在运行的Java程序可以称之为一个进程(process),在每个进程里面包含多个线程,线程是进程中单一的顺序控制流,CPU在执行计算机指令的时候都是......
  • B/S端界面控件DevExtreme JavaScript—全新的UI模板库 (v22.2)
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能......
  • java计算代码段执行时间
    java里计算代码段执行时间可以有两种方法,一种是毫秒级别的计算,另一种是更精确的纳秒级别的计算。一)毫秒级别计算时间longstartTime=System.currentTimeMillis();/*......