stream 求平均
时间: 2024-07-23 22:00:58 浏览: 48
Stream和Lambda表达式最佳实践
在Java 8及更高版本中,`Stream` API提供了一种简洁的方式来处理集合数据并计算平均值。当你有一个流(Stream),你可以通过调用`mapToInt()`函数将每个元素转换为整数(这里假设元素可以被转换),然后用`average()`方法计算它们的平均值。这是一个简单的示例:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
OptionalDouble average = numbers.stream()
.mapToInt(Integer::intValue) // 将IntStream从列表创建
.average(); // 计算平均值
if (average.isPresent()) {
double avg = average.getAsDouble();
System.out.println("平均值是:" + avg);
} else {
System.out.println("列表为空");
}
```
在这个例子中,如果列表非空,`average()`会返回一个`OptionalDouble`对象,其中包含了平均值;如果列表为空,则`isPresent()`会返回`false`。
阅读全文