首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带条件的Kotlin sumBy函数

带条件的Kotlin sumBy函数
EN

Stack Overflow用户
提问于 2020-03-04 01:17:45
回答 2查看 1K关注 0票数 0

我不想使用it和循环,而是使用sumBy函数并给它一个语句。在哪里添加条件?

val counter = list.sumBy {it.amount}

其中,amount是列表中的字段。

例如,在哪里添加if(it.flag == true)语句?

或者只使用streams?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-04 01:22:13

代码语言:javascript
运行
复制
val counter = list.sumBy { if (it.flag) it.amount else 0 }

代码语言:javascript
运行
复制
val counter = list.asSequence().filter { it.flag }.sumBy { it.amount }

用于在筛选器函数中使用sequence防止创建中间集合的asSequence()

票数 5
EN

Stack Overflow用户

发布于 2020-03-04 01:27:38

如果你在列表中有一个名为"amount“的数组,那么我们将通过这个方法来完成这些项的求和。

代码语言:javascript
运行
复制
 val amount= listOf(10, 20, 30)
    println(amount.sumBy { it })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60512435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档