📜  Java中的 LongStream summaryStatistics()(1)

📅  最后修改于: 2023-12-03 14:42:49.798000             🧑  作者: Mango

Java中的 LongStream summaryStatistics()

在Java 8中,引入了一个新的终结操作——summaryStatistics(),用于对流进行统计汇总。对于LongStream,使用summaryStatistics()可以获取一些有用的统计信息,比如最小值、最大值、总和、平均值等。

LongStream

LongStream是基于long类型的数据流,它提供了一系列操作,比如map()filter()reduce()等,用于对long类型的数据进行处理。可以从数组、集合或I/O流中创建一个LongStream对象。

代码示例
long[] numbers = { 1, 2, 3, 4, 5 };
LongStream stream = Arrays.stream(numbers);
summaryStatistics()

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有元素,并使用并行流来加快处理速度。