Combining a map operation with reduce
The following lines show an imperative code version of a for
loop that calculates the sum of all the lowestScore
values for the mobile games. The code file for the sample is included in the java_9_oop_chapter_12_01
folder, in the example12_13.java
file.
int lowestScoreSum = 0; for (MobileGame mobileGame : repository.getAll()) { lowestScoreSum += mobileGame.lowestScore; } System.out.println(lowestScoreSum);
The code is very easy to understand. The lowestScoreSum
variable has a starting value of 0
, and each iteration of the for
loop retrieves a MobileGame
instance from the List<MobileGame>
returned by the repository.getAll()
method and increases the value of the lowestScoreSum
variable with the value of the mobileGame.lowestScore
field.
We can combine the map and reduce operations to create a functional version of the previous imperative code to calculate the sum of all the lowestScore
values for the mobile games. The next lines chain a call to...