📜  Java中的DoubleStream mapToLong()(1)

📅  最后修改于: 2023-12-03 15:01:58.753000             🧑  作者: Mango

Java中的DoubleStream mapToLong()

在Java中,DoubleStream是一个用于处理double类型元素的流。mapToLong()是DoubleStream的一个方法,它将每个元素映射为长整型,并返回包含这些长整型的新流。

语法
LongStream mapToLong(DoubleToLongFunction mapper)

其中,mapper是一个将double类型的元素映射为长整型的函数。

示例

以下示例演示如何使用mapToLong()方法将DoubleStream中的每个元素都乘以2,并将其转换为长整型:

DoubleStream ds = DoubleStream.of(1.2, 3.4, 5.6);
LongStream ls = ds.mapToLong(d -> (long)(d * 2));
ls.forEach(System.out::println); // 输出 2, 6, 10

在上面的代码中,我们首先使用DoubleStream.of()方法创建了一个DoubleStream,并将其元素设为1.2、3.4和5.6。接下来,我们使用mapToLong()方法将每个元素乘以2,并将它们转换为长整型。最后,我们使用forEach()方法来遍历LongStream中的元素,并将它们打印出来。

注意事项
  • 如果映射函数mapper返回的long值超出了Long.MAX_VALUE或Long.MIN_VALUE的范围,则会抛出ArithmeticException异常。
  • 如果在mapToLong()方法调用之后未对原始的DoubleStream排序,那么新的LongStream的排序顺序将是不确定的。