Kotlin减少2d列表的功能不起作用

时间:2017-08-15 05:37:38

标签: android kotlin

我需要获得2d列表的总大小。这是我的实施:

    fun totalSize(parts: List<List<String>>): Int {
        return parts.reduce { total, next -> total + next.size }
    }

我的类型推断失败了。必需的Int,Got List。但是next.size应该返回Int。

2 个答案:

答案 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 })