数学统计功能,求一组数组的最大值、最小值、个数、数据和、平均数等。
⏹.mapToInt(x -> x).summaryStatistics();
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
// .stream()得到的是一个Stream流对象,而.mapToInt()得到的是一个IntStream流对象
IntStream intStream = list.stream().mapToInt(x -> x);
// 得到一个汇总对象,该对象中包含各种统计的结果
IntSummaryStatistics stats = intStream.summaryStatistics();
System.out.println("最小值:" + stats.getMin()); // 最小值:1
System.out.println("最大值:" + stats.getMax()); // 最大值:6
System.out.println("个数:" + stats.getCount()); // 个数:6
System.out.println("和:" + stats.getSum()); // 和:21
System.out.println("平均数:" + stats.getAverage()); // 平均数:3.5
⏹.mapToInt(x -> x).各种统计函数();
作用和 .summaryStatistics() 相同
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
list.stream().mapToInt(x -> x).min(); // OptionalInt[1]
list.stream().mapToInt(x -> x).max(); // OptionalInt[6]
list.stream().mapToInt(x -> x).count(); // 6
list.stream().mapToInt(x -> x).sum(); // 21
list.stream().mapToInt(x -> x).average(); // OptionalDouble[3.5]
除了.mapToInt()
之外,还有mapToDouble
和mapToLong
,用法和.mapToInt()
大同小异.