# Sum of list with stream filter in Java

• Difficulty Level : Medium
• Last Updated : 15 May, 2021

We generally iterate through the list when adding integers in a range, but java.util.stream.Stream has a sum() method that when used with filter() gives the required result easily.

## Java

 `// Simple method (without filter) to find sum of a list``import` `java.util.*;` `class` `Addition {``    ``public` `static` `void` `main(String[] args)``    ``{``        ``// create a list of integers``        ``List list = ``new` `ArrayList();` `        ``// add elements to the list``        ``list.add(``1``);``        ``list.add(``5``);``        ``list.add(``6``);``        ``list.add(``7``);``        ``list.add(``8``);``        ``list.add(``9``);``        ``list.add(``10``);` `        ``System.out.println(sum(list));``    ``}` `    ``public` `static` `int` `sum(List list)``    ``{``        ``// iterator for accessing the elements``        ``Iterator it = list.iterator();` `        ``int` `res = ``0``;``        ``while` `(it.hasNext()) {``            ``int` `num = it.next();` `            ``// adding the elements greater than 5``            ``if` `(num > ``5``) {``                ``res += num;``            ``}``        ``}` `        ``return` `res;``    ``}``}`

Output:

`40`

The above task can be easily performed using sum() method with filter() method

## Java

 `// Using stream filter to find sum of a list``import` `java.util.*;` `class` `Addition {``    ``public` `static` `void` `main(String[] args)``    ``{``        ``// create a list of integers``        ``List list = ``new` `ArrayList();` `        ``// add elements to the list``        ``list.add(``1``);``        ``list.add(``5``);``        ``list.add(``6``);``        ``list.add(``7``);``        ``list.add(``8``);``        ``list.add(``9``);``        ``list.add(``10``);` `        ``System.out.println(sum(list));``    ``}` `    ``public` `static` `int` `sum(List list)``    ``{``        ``// create a stream of integers``        ``// filter the stream``        ``// add the integers``        ``return` `list.stream()``            ``.filter(i -> i > ``5``)``            ``.mapToInt(i -> i)``            ``.sum();``    ``}``}`

Output:

`40`

My Personal Notes arrow_drop_up