stream list.toMap注意

一般情况下list转map,采用如下方法
Map<String,String> tokenToIdMap = allEntities.stream().collect(
Collectors.toMap(UmengDeviceToken::getDeviceToken, UmengDeviceToken::getDfDeviceId));

但是,这种情况下,如果存入map的value值为null,程序会报空指针异常。因此可以采用下面的方式避免。
Map<String,String> tokenToIdMap = allEntities.stream().collect(HashMap::new, (m,v)->
m.put(v.getDeviceToken(), v.getDfDeviceId()),HashMap::putAll);
原文地址:https://www.cnblogs.com/mydesky2012/p/14470726.html