- Kotlin 教程
- Kotlin - 首页
- Kotlin - 概述
- Kotlin - 环境设置
- Kotlin - 架构
- Kotlin - 基本语法
- Kotlin - 注释
- Kotlin - 关键字
- Kotlin - 变量
- Kotlin - 数据类型
- Kotlin - 运算符
- Kotlin - 布尔值
- Kotlin - 字符串
- Kotlin - 数组
- Kotlin - 范围
- Kotlin - 函数
- Kotlin 控制流
- Kotlin - 控制流
- Kotlin - if...else 表达式
- Kotlin - when 表达式
- Kotlin - for 循环
- Kotlin - while 循环
- Kotlin - break 和 continue
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集合
- Kotlin - 映射
- Kotlin 对象和类
- Kotlin - 类和对象
- Kotlin - 构造函数
- Kotlin - 继承
- Kotlin - 抽象类
- Kotlin - 接口
- Kotlin - 可见性控制
- Kotlin - 扩展
- Kotlin - 数据类
- Kotlin - 密封类
- Kotlin - 泛型
- Kotlin - 委托
- Kotlin - 解构声明
- Kotlin - 异常处理
- Kotlin 有用资源
- Kotlin - 快速指南
- Kotlin - 有用资源
- Kotlin - 讨论
Kotlin 数组 - reduce() 函数
Kotlin 数组的 reduce() 函数用于累积或组合数组的所有元素为单个值,从第一个元素开始,使用二元运算符(由 lambda 函数指定)。
此函数从左到右将操作应用于当前累加器值和每个元素。
异常
如果数组为空,此函数将抛出“UnsupportedOperationException”异常。
语法
以下是 Kotlin 数组 reduce() 函数的语法:
inline fun <S, T : S> Array<out T>.reduce( operation: (acc: S, T) -> S ): S
参数
此函数接受一个 **operation**,它表示当前累加器值和一个元素,并计算下一个累加器值。
返回值
此函数返回一个列表,其中包含通过应用操作生成的连续累积值。
示例 1
以下是一个基本的示例,用于演示 reduce() 函数的使用:
fun main(args: Array<String>) { val numbers = arrayOf(1, 2, 3, 4, 5) val sum = numbers.reduce { acc, num -> acc + num } println("Sum of elements: $sum") }
输出
以上代码生成以下输出:
Sum of elements: 15
示例 2
让我们看另一个例子。如果我们使用 reduce() 函数且数组为空,输出将会是什么?
fun main(args: Array<String>) { val numbers = arrayOf<Int>() val exec = numbers.reduce { acc, num -> acc } println("Single value: $exec") }
输出
如果数组为空,以上代码将抛出异常。
Exception in thread "main" java.lang.UnsupportedOperationException: Empty array can't be reduced.
示例 3
下面的示例创建一个数组,并使用 **reduce()** 函数将所有元素累积到单个值。
fun main(args: Array<String>) { val strings = arrayOf<String>("a", "b", "c", "d", "e") val res = strings.reduce { acc, string -> acc + string } println("Single value: $res") }
输出
以下是输出:
Single value: abcde
kotlin_arrays.htm
广告