实用 AI

可在线运行 AI 集合,涵盖 AI 文案生成、写作辅助、AI 绘图与照片修复、AI 配音、字幕生成、语音转录以及 AI 视频创作和数字人等多种 AI 服务

查看详情

Kotlin中的fold和reduce有什么区别?

Kotlin中的fold和reduce有什么区别?

kotlinfoldreducelist
1
325
小课
小课2022-06-12 16:44
1 个回答
fold

需要传入一个初始值,当集合为空时直接返回初始值,当集合不为空时,第一轮执行的两个参数分别是初始值和集合中的第一个元素,比如下面这段代码。

listOf(1, 2, 3).fold(0) { sum, element -> sum + element }

第一轮时sum和element分别是0和1。

reduce

没有初始值,如果集合为空会抛出异常,当集合不为空时,第一轮执行的两个参数分别是集合中的第一个和第二个元素,比如下面这段代码。

listOf(1, 2, 3).reduce { sum, element -> sum + element }

第一轮时sum和element分别是1和2。

1
小课
小课2022-06-12 16:53
你的回答

内容