Java中的DoubleStream mapToInt()
DoubleStream mapToInt()返回一个 IntStream,其中包含将给定函数应用于此流的元素的结果。
注意: DoubleStream mapToInt() 是一个中间操作。这些操作总是懒惰的。在 Stream 实例上调用中间操作,在它们完成处理后,它们给出一个 Stream 实例作为输出。
句法 :
IntStream mapToInt(DoubleToIntFunction mapper)
参数 :
- IntStream :原始 int 值元素的序列。这是 Stream 的 int 原始特化。
- 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