Java Stream mapToInt()示例

Java Stream mapToInt()示例

Stream mapToInt(ToIntFunction mapper) 返回一个IntStream,它由对这个流的元素应用给定函数的结果组成。

Stream mapToInt(ToIntFunction mapper)是一个 中间操作。 这些操作始终是懒惰的。中间操作是在一个Stream实例上调用的,在它们完成处理后,会给出一个Stream实例作为输出:

语法:

IntStream mapToInt(ToIntFunction < ? super T > mapper)

其中,IntStream是一串原始的 int-value元素的序列,T是流元素的类型。流元素的类型。Mapper是一个无状态函数 它被应用于每个元素,该函数 返回新的流。

例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<String> 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<String> 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程