Scala – Fold Left

  • date 30th May, 2021 |
  • by Prwatech |

Scala Collections FoldLeft Method


The foldLeft strategy takes an acquain twofold administrator work as boundary and will utilize it to implode components from the assortment.

The request for navigating the components in the assortment is from left to right and subsequently the name foldLeft. The foldLeft strategy permits you to likewise determine an underlying worth.

The foldLeft method is a fundamental higher-order function in Scala collections that allows for iterative aggregation or reduction of elements in a collection.

Here, z is the initial value (also known as the zero element) of type B, and op is a binary operator that takes an accumulated value of type B and an element of the collection of type A, and returns a new accumulated value of type B.

Common use cases of foldLeft include computing the sum or product of elements, constructing new data structures (e.g., List, Map), or performing complex transformations on collections. The foldLeft method is tail-recursive, making it efficient and stack-safe for processing large collections.

Understanding foldLeft is crucial for functional programming in Scala, as it encourages a declarative and concise style of coding by encapsulating iterative operations into a single higher-order function call. By leveraging foldLeft, developers can write expressive and efficient code for processing and aggregating data in Scala collections. Scala Collections FoldLeft Method

use case 1:

scala> val prices: Seq[Double] = Seq(9.5, 3.0, 7)

scala> val sum = prices.foldLeft(0.0)(_ + _)

2use case 2:

scala> val eduprwa: Seq[String] = Seq("Data", "Science", "Prwatech")

scala> println(s"All eduprwa = ${eduprwa.foldLeft("")((a, b) => a + " eduprwa " + b)}")

use case 3:

scala> val prices: Seq[Double] = Seq(4.0, 2.0)

scala> val diff = prices.foldLeft(5.0)(_ - _)

Quick Support

image image