📜  Java中的 IntStream 映射(IntUnaryOperator 映射器)

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

Java中的 IntStream 映射(IntUnaryOperator 映射器)

IntStream map(IntUnaryOperator mapper)返回一个流,该流由将给定函数应用于该流的元素的结果组成。这是一个中间操作。这些操作总是懒惰的。在 Stream 实例上调用中间操作,在它们完成处理后,它们给出一个 Stream 实例作为输出。

句法 :

IntStream map(IntUnaryOperator mapper)

参数 :

  1. IntStream :原始 int 值元素的序列。
  2. IntUnaryOperator :对单个 int 值操作数的操作,产生一个 int 值结果。
  3. 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