最近看到开发代码,其中有一行是map.getOrDefault(),一开始不太理解为什么此处逻辑要这样用,后面仔细想了下,用的真好,记录学习下
简单点说:map.getOrDefault(Object key, V defaultValue)的用法是当Map集合中有这个key时,就使用这个key值;如果没有就使用默认值defaultValue。
但是开发代码中是这样用的:
List<String> userList = roomIdMap.getOrDefault(roomId, new ArrayList<>());
逻辑是:
1.当roomIdMap存在roomid时,userList则取map中的value值
2.当roomIdMap不存在roomid时,userList=new ArrayList<>();
参考链接:https://blog.csdn.net/u014231523/article/details/100624932