# Lambda expression to check even numbers

I wrote this code to check the even numbers from the List. After finding even number I twice the even numbers with the help of Map and then find the sum of each even number after making it double by use of the reduce method.

import java.util.Arrays;
import java.util.List;

public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);

System.out.println(
numbers.stream()
.filter(e -> e % 2 == 0)
.map( e -> e * 2)
.reduce(0, Integer::sum));
}

• Try to express the desired sum as formula of your N of the integer range and you don't need no Lambdas at all :) – RobAu Oct 20 '16 at 9:27

Have you come across the IntStream? I'd use that for numerical operations rather than the boxed version Stream<Integer>.
• System.out.println(numbers.stream().filter(e -> e % 2 == 0).mapToInt( e -> e * 2).sum()); I change the map to mapToInt and remove that box Integer::sum to sum(). – user3789184 Oct 20 '16 at 5:39
• Or one step further (assuming the List is not absolutely necessary): IntStream.rangeClosed(1, 9).filter(e -> e % 2 == 0).map(e -> e * 2).sum() – Joe C Oct 20 '16 at 5:47