Stream流toMap注意点

一:toMap源码中重复key不会替换,会直接抛出异常

可用第三个参数解决,(new,old) -> new

二:value值不能为空,map最基本的特性,可以用Optional处理

       Map<Integer, String> map = userList.stream()  
                .collect(Collectors.toMap(  
                    User::getId,  
                    it -> Optional.ofNullable(it.getName()).orElse(""),  
                    (oldData, newData) -> newData)  
                );

 

posted @ 2024-07-18 15:32  星期三q  阅读(259)  评论(0)    收藏  举报