stream.mapToLong
时间: 2024-08-15 14:04:15 浏览: 54
stream操作写法,原版pdf
`mapToLong` 是 Java 8 中 Stream API 提供的一个方法,用于对流中的每个元素应用一个转换操作并返回一个新的 Long 流(long-stream)。这个方法主要用于处理数值类型的元素,它会将每个元素转换成 long 类型的结果。
假设我们有一个整数流,我们可以使用 `mapToLong` 来执行一些基于长整型的操作,比如计算总和、平均值、最大值或最小值:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> stream = numbers.stream();
// 计算流中所有元素的和
long sum = stream.mapToLong(Long::valueOf).sum(); // 使用 Long::valueOf 转换为 long
// 或者找到最大值
Optional<Long> max = stream.mapToLong(Math::max).max(); // 使用 Math::max 找到最大 long 值
```
在这个例子中,`Long::valueOf` 是一个方法引用,它将 Integer 类型的元素转换为 Long 类型,而 `Math::max` 则是一个 lambda 表达式,用于找出所有元素中的最大值。
阅读全文