我有一个名为Time with field的实体/表单:
Integer id;
Date date;
Integer value;和另一个名为SummaryForm的表单
String title;
String descr;
List<Object> newList;如何使用Java 8接口提高地图的使用率。现在我有一个if语句:
if (map.containsKey(key)) {
map.get(key).newList().add(new SummaryForm(time.getDate(), time.getValue()));
}有什么简单的方法可以改进它,以避免使用map.containsKey的if语句和t语句?在我看来,我需要像putIfPresent这样的东西,但似乎只有一个putIfAbsent方法。
发布于 2018-02-01 16:34:36
Java8中有几个新方法扩展了Map接口,这要归功于默认方法的引入(因此保持了向后兼容性)。
没有putIfPresent,但是有replace()方法可以这样工作。
但是,看起来您在这里查找的是computeIfPresent:
map.computeIfPresent(key, (k, value) -> {
value.newList().add(new SummaryForm(time.getDate(), time.getValue());
return value;
})https://stackoverflow.com/questions/48558234
复制相似问题