📜  Java中的DoubleStream mapToObj()

📅  最后修改于: 2020-03-24 11:23:45             🧑  作者: Mango

DoubleStream mapToObj()返回一个对象值的Stream,其中包含应用给定函数的结果。
语法:

 Stream
mapToObj(DoubleFunction mapper)

参数:此方法接受以下参数:

  1. U:新流的元素类型。
  2. Stream支持顺序和并行聚合操作的一系列元素。
  3. DoubleFunction:表示一个接受双值参数并产生结果的函数。
  4. mapper:适用于每个元素的无状态函数。

返回值:该函数返回一个对象值的Stream,其中包含应用给定函数的结果。
以下示例说明了mapToObj()方法:
范例1:

// Java展示DoubleStream mapToObj
// (DoubleFunction mapper)
import java.util.*;
import java.util.stream.Stream;
import java.util.stream.DoubleStream;
class GFG {
    // 测试代码
    public static void main(String[] args)
    {
        // 创造一个DoubleStream
        DoubleStream stream = DoubleStream.of(3.4, 4.5,
                                              6.7, 8.9);
        // 使用DoubleStream mapToObj(DoubleFunction mapper)
        stream.mapToObj(num ->{return num * num * num ;})
                           .forEach(System.out::println);
    }
}

输出:

39.303999999999995
91.125
300.76300000000003
704.969

范例2:

// Java代码,展示DoubleStream mapToObj

import java.util.*;
import java.math.BigDecimal;
import java.util.stream.Stream;
import java.util.stream.DoubleStream;
class GFG {
    // 测试代码
    public static void main(String[] args)
    {
        // 创造一个DoubleStream
        DoubleStream stream = DoubleStream.of(3.4, 4.5,
                                              6.7, 8.9);
        // 创造一个流
        // 使用DoubleStream mapToObj(DoubleFunction mapper)
        Stream stream1 = stream
            .mapToObj(BigDecimal::valueOf);          stream1.forEach(num -> System.out.println
                    (num.add(BigDecimal.TEN)));
    }
}

输出:

13.4
14.5
16.7
18.9