The runningReduce() extension function in Kotlin returns a list containing successive accumulation values generated by applying an operation from left to right to each element and the current accumulator value that starts with the first element of this collection.
The syntax of Set.runningReduce() extension function is:
fun <S, T : S> Set<T>.runningReduce(operation: (acc: S, T) -> S): List<S>
This runningReduce() extension function of Set returns a list containing successive accumulation values generated by applying operation from left to right to each element and current accumulator value that starts with the first element of this collection.
Parameter | Optional/Required | Description |
---|---|---|
operation | required | A function that takes the current accumulator value and an element, and returns the new accumulator value. |
Set.runningReduce() returns value of type List
.
Using runningReduce() to calculate the running sum of elements in a set of integers.
For example,
fun main() {
val numbers = setOf(1, 2, 3, 4, 5)
val runningSums = numbers.runningReduce { acc, num -> acc + num }
println(runningSums)
}
[1, 3, 6, 10, 15]
Using runningReduce() to calculate the running concatenation of strings in a set.
For example,
fun main() {
val strings = setOf("Kotlin", "is", "fun")
val runningConcat = strings.runningReduce { acc, str -> "$acc $str" }
println(runningConcat)
}
[Kotlin, Kotlin is, Kotlin is fun]
Using runningReduce() to calculate the running product of elements in a set of integers.
For example,
fun main() {
val numbers = setOf(1, 2, 3, 4)
val runningProducts = numbers.runningReduce { acc, num -> acc * num }
println(runningProducts)
}
[1, 2, 6, 24]
In this Kotlin tutorial, we learned about runningReduce() extension function of Set: the syntax and few working examples with output and detailed explanation for each example.