公司网站公司哪家好,免费网站app下载,文网文许可证,镇江公司做网站基本类型的流#xff08; IntStream等#xff09;提供了summaryStatistics( #xff09;方法#xff0c;该方法可用于获取流的多个统计属性#xff08;最小值#xff0c;平均值等#xff09;。 假设我们有一个人的名单。 我们的目标是使用信息流获取列表中人员的最小和… 基本类型的流 IntStream等提供了summaryStatistics( 方法该方法可用于获取流的多个统计属性最小值平均值等。 假设我们有一个人的名单。 我们的目标是使用信息流获取列表中人员的最小和最大年龄。 这里的问题是最小值和最大值的计算是终端流操作。 因此我们需要提出自己的约简实现或为每次计算创建一个新的流。 天真的实现可能看起来像这样 ListPerson list Arrays.asList(new Person(John Blue, 28),new Person(Anna Brown, 53),new Person(Paul Black, 47)
);int min list.stream().mapToInt(Person::getAge).min().orElseThrow(NoSuchElementException::new);int max list.stream().mapToInt(Person::getAge).max().orElseThrow(NoSuchElementException::new); 幸运的是Java使用summaryStatistics()方法提供了一种更简单的方法 IntSummaryStatistics statistics list.stream().mapToInt(Person::getAge).summaryStatistics();int min statistics.getMin();
int max statistics.getMax(); IntSummaryStatistics还提供获取流元素的计数和总和的方法。 您可以在GitHub上找到完整的示例代码。 翻译自: https://www.javacodegeeks.com/2018/05/using-java-stream-summary-statistics.html