【发布时间】:2020-03-22 03:14:46
【问题描述】:
我有一个这样的对象列表:
val obj1 = Obj(date = LocalDate.parse("2018-12-12"), amount = BigDecimal(100))
val obj2 = Obj(date = LocalDate.parse("2018-12-12"), amount = BigDecimal(200))
val obj3 = Obj(date = LocalDate.parse("2019-10-10"), amount = BigDecimal(500))
val arrayOfObj = arrayOf(obj1, obj2, obj3)
我想返回如下所示的对象列表:
date=2018-12-12, amount=300, objs=[Obj(date=2018-12-12, amount=100), Obj(date=2018-12-12, amount=200)]
date=2019-10-10, amount=500, objs=[Obj(date=2019-10-10, amount=500)]
基本上我想分组日期,总结金额,并映射到一个新对象,其中包括原始对象列表
arrayOfObj.groupBy {it.date} 给了我一张漂亮的地图,我可以循环输入并获取金额,但我想知道是否有一种巧妙的方法可以通过折叠或聚合来做到这一点。我有点像 Kotlin n00b。
【问题讨论】:
标签: kotlin