是否有一种更优雅的解决方案来填充地图中的列表?

v_schoener:

我尝试从地图上填写列表。如果列表为NULLI,我将创建一个新列表并添加一个新创建的元素,否则将该元素添加到现有列表中。

我想知道JAVA8中是否有更优雅的解决方案。任何帮助表示赞赏。

Map<String, List<MyObject>> myMap = new HashMap<>();
List<MyObject> list = myMap.get("key");
myMap.put("key", list == null ? Arrays.asList(new MyObject()) : Arrays.asList(list, new MyObject()));
雅各布·G:

假设Arrays.asList(list, new MyObject())应该向中添加一个新MyObject实例list,那么可以,您可以使用Map#computeIfAbsent来提高代码的可读性:

Map<String, List<MyObject>> myMap = new HashMap<>();
myMap.computeIfAbsent("key", key -> new ArrayList<>()).add(new MyObject());

如果"key"中没有作为键存在Map,则将创建到新ArrayList实例的映射(返回)。否则,List将通过调用来返回现有项computeIfAbsent,从而允许您向其添加新元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从属性的逗号分隔列表创建数组的更优雅的解决方案?

Firebase UI:一种解决方案,可以从孩子那里接收所有密钥,并使用它来从另一个节点接收信息并将其填充到Recyclerview中?

是否有一个优雅的解决方案可以在迭代时修改结构?

是否有用于SomeButNotAll()的优雅LINQ解决方案?

是否有一种更优雅的方式来读取然后使用node js流写入*同一文件*

是否有一个优雅的解决方案来检查是否定义了预处理器符号

“ for”循环的更优雅的解决方案

找到所有解决方案后,如何对解决方案进行评分并选择一种

图形实现更优雅的解决方案?

有没有一种方法可以更优雅地编写此“ if”列表?

寻找更优雅的任务处理解决方案

有没有一种更优雅的方式来代替编写大量查询?

一种通过Google工作表中的列动态更新选项列表的解决方案

是否有任何正常的解决方案来编辑Aerospike列表中的地图

是否有一种更优雅的方式来使用“ while循环”而不必先在“ while循环”之外定义变量?

是否有一个优雅的解决方案将Dataframes连接为列表中的固定元素?

有没有一种优雅的方法来检查对象的类型是否属于类型列表?

相同的自动完成功能在一种解决方案中有效,但在另一种解决方案中无效

针对同一领域的多个OR的更优雅的解决方案

快速冗余可选变量-是否有一个优雅的解决方案?

一种优雅的单行解决方案,可从divmod的嵌套元组中提取数据

寻求一种成本更低的解决方案来匹配两个表的ID

寻找一种更优雅的方式来解决此任务

glDisableVertexAttribArray在一种Visual Studio解决方案中有效,但在另一种解决方案中无效

:nth-child内容替换的更优雅的解决方案

这个问题有更优雅的解决方案吗?

Python:检查列表中是否有任何子字符串的优雅解决方案?

有没有更优雅的解决方案来修改这些文件名?

Vue.js 是否有一种优雅的方式来循环 axios 中的地图键?