groupBy在用双打计算后,我很难为所有人命名.
persons.stream()
.map(p -> (p.getHeight() * p.getWeight()))
.collect(Collectors.groupingBy(Person::getName)));
Run Code Online (Sandbox Code Playgroud)
但Stream<Double>不适用于这些论点.
如何处理整数/双精度然后处理groupBy String?
一种可能的解决方案如下:
persons.stream().collect(Collectors.groupingBy(
Person::getName,
HashMap::new,
Collectors.mapping(
p -> p.getHeight() * p.getWeight()
Collectors.toList())));
Run Code Online (Sandbox Code Playgroud)
或者,如果您不希望重复名称,则可以使用更简单的名称
persons.stream().collect(Collectors.toMap(
Person::getName,
p -> p.getHeight() * p.getWeight()));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3046 次 |
| 最近记录: |