我需要获得2d列表的总大小。这是我的实施:
fun totalSize(parts: List<List<String>>): Int {
return parts.reduce { total, next -> total + next.size }
}
我的类型推断失败了。必需的Int,Got List。但是next.size应该返回Int。
答案 0 :(得分:5)
更好:总和期间的地图操作(来自@Ruckus T-Boom评论)
userId
原文:首先将内部列表映射到它们的大小(猜测Kotlin语法):
parts.sumBy { it.size }
答案 1 :(得分:2)
在reduce
中,total
的第一个值是列表的第一个元素,也是一个列表。因此,reduce
的返回值的推断类型必须为List
。
您可以改为使用fold
:
return parts.fold(0, { total, next -> total + next.size })