HashMap + Lambda。如果为null,如何添加新值<list>

时间:2016-10-17 14:06:03

标签: java lambda

我想&#34;翻译&#34;此代码将其与Java 8新功能一起使用。 Lambda,map.compute。

但是有一个错误:

Type mismatch: cannot convert from boolean to ArrayList<DayDetailsBean>

任何想法的人?

1 个答案:

答案 0 :(得分:6)

您可以使用computeIfAbsent。其中:

  

如果指定的键尚未与值关联(或映射为null),则尝试使用给定的映射函数计算其值,并将其输入此映射,除非为null。

     

返回与指定键关联的当前(现有或已计算)值,如果计算值为null,则返回null

map.computeIfAbsent(i, k -> new ArrayList<DayDetailsBean>()).add(dayDetails);