我有一个List<UserMeal>
集合,其中UserMeal包含:
public class UserMeal {
private final LocalDateTime dateTime;
private final int calories;
public UserMeal(LocalDateTime dateTime, int calories) {
this.dateTime = dateTime;
this.calories = calories;
}
public LocalDateTime getDateTime() {
return dateTime;
}
public int getCalories() {
return calories;
}
}
我需要将它转换为Map<LocalDate,Integer>
。
映射的键必须是集合中UserMeal项的dateTime
(转换为LocalDate
)。
而映射的值必须是calories
的总和。
我无法使用流解决这个问题。可能像这样:
items.stream().collect(Collectors.toMap(...));
需要帮忙吗?
这是我的当前代码,显然无法工作。
Map<LocalDate, Integer> values = mealList.stream()
.collect(Collectors.toMap(m->m.getDateTime().toLocalDate(),
m-> {/* HUH? */}));