Java中的 IntStream 映射(IntUnaryOperator 映射器)
IntStream map(IntUnaryOperator mapper)返回一个流,该流由将给定函数应用于该流的元素的结果组成。这是一个中间操作。这些操作总是懒惰的。在 Stream 实例上调用中间操作,在它们完成处理后,它们给出一个 Stream 实例作为输出。
句法 :
IntStream map(IntUnaryOperator mapper)
参数 :
- IntStream :原始 int 值元素的序列。
- IntUnaryOperator :对单个 int 值操作数的操作,产生一个 int 值结果。
- mapper :应用于每个元素的无状态函数,该函数返回新流。
返回值: IntStream map(IntUnaryOperator mapper) 通过应用给定的函数返回一个流。
示例 1:使用 IntStream map() 获取 IntStream 元素平方的负数。
// Java code for IntStream map
// (IntUnaryOperator mapper) to get a
// stream by applying the given function.
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream1 = IntStream.of(4, 5, 6, 7);
// Using IntStream map()
IntStream stream2 = stream1.map(num -> (-num * num));
// Displaying the resulting IntStream
stream2.forEach(System.out::println);
}
}
输出:
-16
-25
-36
-49
示例 2:使用 IntStream map() 获取给定范围内的一半 IntStream 元素。
// Java code for IntStream map
// (IntUnaryOperator mapper) to get a
// stream by applying the given function.
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream in range [2, 7)
IntStream stream1 = IntStream.range(2, 7);
// Using IntStream map()
IntStream stream2 = stream1.map(num -> (num / 2));
// Displaying the resulting IntStream
stream2.forEach(System.out::println);
}
}
输出:
1
1
2
2
3