stream实现类似聚合函数的api,如最大、最小、平均、计数、求和、匹配查找
• max():返回流中的最大元素。如果流为空,可以使用orElse()方法来提供一个默认值。
• min():返回流中的最小元素。同样,如果流为空,可以使用orElse()方法提供一个默认值。
• average():返回流中所有元素的平均值。
• count():返回流中的元素数量。
• sum():返回流中所有元素的总和。
• anyMatch(): 测试流中的元素是否匹配给定的谓词。
• allMatch(): 测试流中的所有元素是否都匹配给定的谓词。
• noneMatch(): 测试流中的所有元素是否都不匹配给定的谓词。
• findFirst(): 返回流中的第一个元素。
• findAny(): 返回流中的任何一个元素。
举例:
// 平均值
double average = Arrays.stream(numbers).average().orElse(0.0);
System.out.println("平均值: " + average);
// 计数
long count = Arrays.stream(numbers).count();
System.out.println("计数: " + count);
//匹配
boolean hasEvenNumber = Arrays.stream(numbers).anyMatch(n -> n % 2 == 0);
System.out.println("是否有偶数: " + hasEvenNumber);