您可以使用
computeIfAbsent。
如果不存在映射,则只需将密钥与新的空列表相关联即可创建一个,然后将值添加到其中。
dataMap.computeIfAbsent(key, k -> new ArrayList<>()).add(someNewObject);
如文档所述,它将返回与指定键关联的当前(现有或计算得出的)值,因此您可以将调用与链接起来
ArrayList#add。当然,这是假设原始地图中的值不是固定大小的列表(我不知道您如何填充它)…
顺便说一句,如果您有权访问原始数据源,则可以从中获取流并
Collectors.groupingBy直接使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)