IntStream summaryStatistics() in Java

• Last Updated : 21 Mar, 2018

IntStream summaryStatistics() returns an IntSummaryStatistics describing various summary data about the elements of this stream like count of number of elements in the IntStream, average of all elements present in IntStream, minimum and maximum element in the IntStream and so on. This is a terminal operation i.e, it may traverse the stream to produce a result or a side-effect.

Syntax :

IntSummaryStatistics summaryStatistics()

Parameters :

1. IntSummaryStatistics : A state object for collecting statistics such as count, min, max, sum, and average.

Return Value : IntSummaryStatistics summaryStatistics() returns an IntSummaryStatistics describing various summary data about the elements of this stream.

Note : IntStream summaryStatistics() is a special case of a reduction. A reduction operation, also known as fold takes a sequence of input elements and combines them into a single summary result by repeated application of a combining operation. The combining operation can be finding the sum or maximum of a set of numbers.

Example 1 : Using IntStream summaryStatistics() to get the IntSummaryStatistics of elements present in given IntStream.

 // Java code for IntStream summaryStatistics()// to get various summary data about the// elements of the stream.import java.util.stream.IntStream;import java.util.IntSummaryStatistics;  class GFG {      // Driver code    public static void main(String[] args)    {        // Creating an IntStream        IntStream stream = IntStream.of(4, 5, 6, 7);          // Using IntStream summaryStatistics()        IntSummaryStatistics summary_data =                         stream.summaryStatistics();          // Displaying the various summary data        // about the elements of the stream        System.out.println(summary_data);    }}

Output :

IntSummaryStatistics{count=4, sum=22, min=4, average=5.500000, max=7}

Example 2 :Using IntStream summaryStatistics() to get the IntSummaryStatistics of elements present in given range.

 // Java code for IntStream summaryStatistics()// to get various summary data about the// elements of the stream.import java.util.stream.IntStream;import java.util.IntSummaryStatistics;  class GFG {      // Driver code    public static void main(String[] args)    {        // Creating an IntStream of elements        // in range [5, 9)        IntStream stream = IntStream.range(5, 9);          // Using IntStream summaryStatistics()        IntSummaryStatistics summary_data =                       stream.summaryStatistics();          // Displaying the various summary data        // about the elements of the stream        System.out.println(summary_data);    }}

Output :

IntSummaryStatistics{count=4, sum=26, min=5, average=6.500000, max=8}

My Personal Notes arrow_drop_up