总结:
这两种写法都可以
建议使用computeIfAbsent(线程安全写法)
起因:我开始想用自己学过的知识写这个操作
用了portals.put(key, portals.getOrDefault(key, new ArrayList<>()).add(new int[]{x2,y2}));
但是这是不对的 因为add方法会返回boolean值 类型不匹配
后面又改了 portals.put(key, portals.getOrDefault(key, new ArrayList<>())).add(new int[]{x2,y2});
这样也是不对的,因为有空指针风险,对空列表进行add操作会导致报错