| Class Name | Data Type | Introduced In | Package |
|---|---|---|---|
| IntSummaryStatistics | int | Java 8 | java.util |
| LongSummaryStatistics | long | Java 8 | java.util |
| DoubleSummaryStatistics | double | Java 8 | java.util |
Each of these classes provides:
getCount() – number of elementsgetSum() – total sumgetMin() – minimum valuegetMax() – maximum valuegetAverage() – average value
import java.util.Arrays;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.stream.Collectors;
public class SummaryExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(10, 20, 30, 40, 50);
System.out.println("------------------------------");
IntSummaryStatistics stats = numbers.stream()
.mapToInt(Integer::intValue)
.summaryStatistics();
System.out.println("Count: " + stats.getCount());
System.out.println("Sum: " + stats.getSum());
System.out.println("Min: " + stats.getMin());
System.out.println("Max: " + stats.getMax());
System.out.println("Average: " + stats.getAverage());
System.out.println("------------------------------");
stats = numbers.stream()
.collect(Collectors.summarizingInt(Integer::intValue));
System.out.println("Count: " + stats.getCount());
System.out.println("Sum: " + stats.getSum());
System.out.println("Min: " + stats.getMin());
System.out.println("Max: " + stats.getMax());
System.out.println("Average: " + stats.getAverage());
System.out.println("------------------------------");
}
}
Output
------------------------------------
Count: 5
Sum: 150
Min: 10
Max: 50
Average: 30.0
------------------------------------
Count: 5
Sum: 150
Min: 10
Max: 50
Average: 30.0
------------------------------------