小编Phi*_*lip的帖子

Collectors.toMap()keyMapper

我有一个  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;
 }
}
Run Code Online (Sandbox Code Playgroud)

我需要把它转换成  Map<LocalDate, Integer>.

映射的键必须是集合中UserMeal项的dateTime(转换为LocalDate).

并且地图的价值必须是calories.

我无法弄清楚如何使用流来做到这一点.就像是:

items.stream().collect(Collectors.toMap(...));
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

这是我当前的代码,显然不起作用.

Map<LocalDate, Integer>  values = mealList.stream()
            .collect(Collectors.toMap(m->m.getDateTime().toLocalDate(),
                    m-> {/* HUH? */}));
Run Code Online (Sandbox Code Playgroud)

java hashmap java-8 java-stream

5
推荐指数
1
解决办法
340
查看次数

标签 统计

hashmap ×1

java ×1

java-8 ×1

java-stream ×1