📜  Java中的DoubleStream mapToInt()

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

Java中的DoubleStream mapToInt()

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

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

IntStream mapToInt(DoubleToIntFunction mapper)

参数 :

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

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

示例 1:

// Java code for IntStream mapToInt
// (DoubleToIntFunction 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 a DoubleStream
        DoubleStream stream = DoubleStream.of(2.3, 4.5, 6.4,
                                              8.7, 10.4);
  
        // Using IntStream mapToInt(DoubleToIntFunction mapper)
        // to return an IntStream consisting of the
        // results of applying the given function to
        // the elements of this stream.
        IntStream stream1 = stream.mapToInt(num -> (int)num);
  
        // Displaying the elements in stream1
        stream1.forEach(System.out::println);
    }
}

输出 :

2
4
6
8
10

示例 2:

// Java code for IntStream mapToInt
// (DoubleToIntFunction 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 a DoubleStream
        DoubleStream stream = DoubleStream.of(2.3, 4.5, 6.4,
                                              8.7, 10.4);
  
        // Using IntStream mapToInt(DoubleToIntFunction mapper)
        // to return an IntStream consisting of the
        // results of applying the given function to
        // the elements of this stream.
        IntStream stream1 = stream.mapToInt(num -> (int)num - 10000);
  
        // Displaying the elements in stream1
        stream1.forEach(System.out::println);
    }
}

输出 :

-9998
-9996
-9994
-9992
-9990

示例 3:

// Java code for IntStream mapToInt
// (DoubleToIntFunction 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 a DoubleStream
        DoubleStream stream = DoubleStream.of(1.3, 2.4, 3.4,
                                              4.5, 5.7);
  
        // Using IntStream mapToInt(DoubleToIntFunction mapper)
        // to return an IntStream consisting of the
        // results of applying the given function to
        // the elements of this stream.
        IntStream stream1 = stream.mapToInt(num -> (int)(num * num * num));
  
        // Displaying the elements in stream1
        stream1.forEach(System.out::println);
    }
}

输出 :

2
13
39
91
185