HashMap + Lambda.如果为null,如何添加新值<List>

Blu*_*ark 4 java lambda

我想"翻译"此代码以将其与Java 8新功能一起使用.Lambda,map.compute.

但是有一个错误:

Type mismatch: cannot convert from boolean to ArrayList<DayDetailsBean>
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

Jor*_*nee 6

你可以用computeIfAbsent.哪一个:

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

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

map.computeIfAbsent(i, k -> new ArrayList<DayDetailsBean>()).add(dayDetails);
Run Code Online (Sandbox Code Playgroud)