We would like to know how to reduce to sum Person ages.
/*from w w w. ja v a2 s. c o m*/ import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) throws Exception { List<Person> persons = Arrays.asList( new Person("Max", 18), new Person("Peter", 23), new Person("Pamela", 23), new Person("David", 12)); Integer ageSum = persons .stream() .reduce(0, (sum, p) -> sum += p.age, (sum1, sum2) -> sum1 + sum2); System.out.println(ageSum); } } class Person { String name; int age; Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return name; } }
The code above generates the following result.