Search code examples
javalambdajava-8java-stream

Find maximum, minimum, sum and average of a list in Java 8


How to find the maximum, minimum, sum and average of the numbers in the following list in Java 8?

List<Integer> primes = Arrays.asList(2, 3, 5, 7, 11, 13, 17, 19, 23, 29);

Solution

  • There is a class name, IntSummaryStatistics

    For example:

    List<Integer> primes = Arrays.asList(2, 3, 5, 7, 11, 13, 17, 19, 23, 29);
    IntSummaryStatistics stats = primes.stream()
                                         .mapToInt((x) -> x)
                                         .summaryStatistics();
    System.out.println(stats);
    

    Output:

    IntSummaryStatistics{count=10, sum=129, min=2, average=12.900000, max=29}
    

    Read about IntSummaryStatistics