📅  最后修改于: 2023-12-03 14:42:49.798000             🧑  作者: Mango
在Java 8中,引入了一个新的终结操作——summaryStatistics()
,用于对流进行统计汇总。对于LongStream
,使用summaryStatistics()
可以获取一些有用的统计信息,比如最小值、最大值、总和、平均值等。
LongStream
是基于long
类型的数据流,它提供了一系列操作,比如map()
、filter()
、reduce()
等,用于对long
类型的数据进行处理。可以从数组、集合或I/O流中创建一个LongStream
对象。
long[] numbers = { 1, 2, 3, 4, 5 };
LongStream stream = Arrays.stream(numbers);
summaryStatistics()
方法返回一个包含流中元素的统计信息的LongSummaryStatistics
对象,可以使用它获取最小值、最大值、总和、平均值等。
LongStream stream = LongStream.of(1, 2, 3, 4, 5);
LongSummaryStatistics stats = stream.summaryStatistics();
System.out.println("Minimum value: " + stats.getMin());
System.out.println("Maximum value: " + stats.getMax());
System.out.println("Sum: " + stats.getSum());
System.out.println("Average value: " + stats.getAverage());
输出结果:
Minimum value: 1
Maximum value: 5
Sum: 15
Average value: 3.0
LongStream
中必须要有元素,否则调用summaryStatistics()
方法会抛出IllegalStateException
异常。LongSummaryStatistics
对象中的getCount()
方法返回统计元素的个数。summaryStatistics()
方法时,LongStream
的所有元素都会遍历一遍,因此对于大规模的数据集,建议使用并行流来提高效率。LongStream summaryStatistics()
方法可以方便地获取LongStream
中的一些统计信息,比如最小值、最大值、总和、平均值等。要注意保证LongStream
有元素,并使用并行流来加快处理速度。