kotlin: reduce函数

一,功能

在 Kotlin 中,reduce() 和 fold() 都是对集合中的元素进行聚合操作的函数,将一个集合中的元素缩减成一个单独的值。
它们的使用方式非常相似,但是返回值略有不同。
区别:

  • reduce() 函数是对集合中的所有元素进行聚合处理,并返回最后一个合并处理值。
  • fold() 函数除了合并所有元素之外,还可以接受一个初始值,并将其与聚合结果一起返回。

二,例子:

代码:

        //处理按钮点击事件
        binding.button1.setOnClickListener {
            val list = listOf(1, 2, 3, 4, 5)
            val sum = list.reduce { acc, i ->
                println("acc:$acc, i:$i")
                acc + i
            }
            println("总数是: $sum")  // 15
        }

运行结果:

image

三,例子:

代码:

        //处理按钮点击事件
        binding.button2.setOnClickListener {
            val strings = listOf("apple", "banana", "orange", "pear")
            val result = strings.reduce { acc, s -> "$acc, $s" }
            println("拼接结果:"+result) // apple, banana, orange, pear
        }

运行结果:

image

四,例子:

代码:

        //处理按钮点击事件
        binding.button3.setOnClickListener {
            val arr = intArrayOf(1, 2, 4, 6, 10)
            val res = arr.reduce { product, element ->
                product * element
            }
            println("乘积:$res")
        }

运行结果:

image

posted @ 2025-08-16 08:10  刘宏缔的架构森林  阅读(23)  评论(0)    收藏  举报