
- 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
廣告