【发布时间】:2016-09-30 14:14:33
【问题描述】:
我有一个要过滤的列表,然后返回一个带有金额总和的 id 映射:
val totalById = list
.filter { it.status == StatusEnum.Active }
.groupBy { it.item.id }
.mapValues { it.value.sumBy { it.amount } }
“it.amount”是 BigDecimal,但看起来 sumBy 只是 Int。
对于 java 8 它会是:
Collectors.groupingBy(i-> i.getItem().getId(), Collectors.mapping(Item::getAmount, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add))))
有没有办法在 Kotlin 中做到这一点?
【问题讨论】:
标签: kotlin