Java IntStream mapToObj()
IntStream mapToObj() 返回一个由应用给定函数的结果组成的对象值Stream。
注意: IntStream mapToObj()是一个 中间操作。 这些操作总是懒惰的。中间操作是在一个Stream实例上调用的,在它们完成处理后,会给出一个Stream实例作为输出。
语法
<U> Stream<U> mapToObj(IntFunction<? extends U> mapper)
参数
- U : 新流的元素类型。
- Stream: 一个支持顺序和平行聚合操作的元素序列。
- IntFunction : 代表一个接受一个int值参数并产生一个结果的函数。
- mapper : 一个无状态的函数,应用于每个元素。
返回值 : 函数返回一个对象值的Stream,由应用给定函数的结果组成。
例子 1 :
// Java code for IntStream mapToObj
// (IntFunction mapper)
import java.util.*;
import java.util.stream.Stream;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream = IntStream.range(3, 8);
// Creating a Stream of Strings
// Using IntStream mapToObj(IntFunction mapper)
// to store binary representation of
// elements in IntStream
Stream<String> stream1 = stream.mapToObj(num
-> Integer.toBinaryString(num));
// Displaying an object-valued Stream
// consisting of the results of
// applying the given function.
stream1.forEach(System.out::println);
}
}
输出:
11
100
101
110
111
例2 :
// Java code for IntStream mapToObj
// (IntFunction mapper)
import java.util.*;
import java.math.BigInteger;
import java.util.stream.Stream;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream = IntStream.of(3, 5, 7, 9, 11);
// Creating a Stream
// Using IntStream mapToObj(IntFunction mapper)
Stream<BigInteger> stream1 = stream
.mapToObj(BigInteger::valueOf);
// Displaying an object-valued Stream
// consisting of the results of
// applying the given function.
stream1.forEach(num -> System.out.println(num.add(BigInteger.TEN)));
}
}
输出:
13
15
17
19
21