📜  Java中的 IntStream mapToDouble()

📅  最后修改于: 2022-05-13 01:55:50.854000             🧑  作者: Mango

Java中的 IntStream mapToDouble()

IntStream mapToDouble()返回一个 DoubleStream,其中包含将给定函数应用于此流的元素的结果。

注意: IntStream mapToDouble() 是一个中间操作。这些操作总是懒惰的。在 Stream 实例上调用中间操作,在它们完成处理后,它们给出一个 Stream 实例作为输出。
句法 :

DoubleStream mapToDouble(IntToDoubleFunction mapper)

参数 :

  1. DoubleStream :原始双值元素的序列。这是 Stream 的双重原始特化。
  2. mapper :应用于每个元素的无状态函数。

返回值:该函数返回一个 DoubleStream,其中包含将给定函数应用于此流的元素的结果。

示例 1:

// Java code for DoubleStream mapToDouble
// (IntToDoubleFunction mapper)
import java.util.*;
import java.util.stream.IntStream;
import java.util.stream.DoubleStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an IntStream
        IntStream stream = IntStream.of(2, 4, 6, 8, 10);
  
        // Using DoubleStream mapToLong(IntToDoubleFunction mapper)
        // to return a DoubleStream consisting of the
        // results of applying the given function to
        // the elements of this stream.
        DoubleStream stream1 = stream.mapToDouble(num -> (double)num);
  
        // Displaying the elements in stream1
        stream1.forEach(System.out::println);
    }
}

输出 :

2.0
4.0
6.0
8.0
10.0

示例 2:

// Java code for DoubleStream mapToDouble
// (IntToDoubleFunction mapper)
import java.util.*;
import java.util.stream.IntStream;
import java.util.stream.DoubleStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an IntStream
        IntStream stream = IntStream.range(5, 10);
  
        // Using DoubleStream mapToLong(IntToDoubleFunction mapper)
        // to return a DoubleStream consisting of the
        // results of applying the given function to
        // the elements of this stream.
        DoubleStream stream1 = stream.mapToDouble(num -> (double)num / 3);
  
        // Displaying the elements in stream1
        stream1.forEach(System.out::println);
    }
}

输出 :

1.6666666666666667
2.0
2.3333333333333335
2.6666666666666665
3.0

示例 3:

// Java code for DoubleStream mapToDouble
// (IntToDoubleFunction mapper)
import java.util.*;
import java.util.stream.IntStream;
import java.util.stream.DoubleStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an IntStream
        IntStream stream = IntStream.range(5, 10);
  
        // Using DoubleStream mapToLong(IntToDoubleFunction mapper)
        // to return a DoubleStream consisting of the
        // results of applying the given function to
        // the elements of this stream.
        DoubleStream stream1 = stream.mapToDouble(Math::sin);
  
        // Displaying the elements in stream1
        stream1.forEach(System.out::println);
    }
}

输出 :

-0.9589242746631385
-0.27941549819892586
0.6569865987187891
0.9893582466233818
0.4121184852417566