Stream mapToInt(ToIntFunction mapper)返回一个IntStream,其中包括将给定函数应用于此流的元素的结果。
流mapToInt(ToIntFunction mapper)是一个中间操作。这些操作总是很懒。在Stream实例上调用中间操作,并在完成处理后将中间实例作为输出提供。
用法:
IntStream mapToInt(ToIntFunction super T> mapper)
Where, IntStream is a sequence of primitive
int-valued elements and T is the type
of stream elements. mapper is a stateless function
which is applied to each element and the function
returns the new stream.
示例1:mapToInt()具有将流元素除以3的功能。
// Java code for Stream mapToInt
// (ToIntFunction mapper) to get a
// IntStream by applying the given function
// to the elements of this stream.
import java.util.*;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating a list of Strings
List list = Arrays.asList("3", "6", "8",
"14", "15");
// Using Stream mapToInt(ToIntFunction mapper)
// and displaying the corresponding IntStream
list.stream().mapToInt(num -> Integer.parseInt(num))
.filter(num -> num % 3 == 0)
.forEach(System.out::println);
}
}
输出:
3
6
15
示例2:mapToInt()在执行具有其长度的映射字符串的操作后返回IntStream。
// Java code for Stream mapToInt
// (ToIntFunction mapper) to get a
// IntStream by applying the given function
// to the elements of this stream.
import java.util.*;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating a list of Strings
List list = Arrays.asList("Geeks", "for", "gfg",
"GeeksforGeeks", "GeeksQuiz");
// Using Stream mapToInt(ToIntFunction mapper)
// and displaying the corresponding IntStream
// which contains length of each element in
// given Stream
list.stream().mapToInt(str -> str.length()).forEach(System.out::println);
}
}
输出:
5
3
3
13
9