java list maptoint_Java Stream flatMapToInt()用法及代码示例

本文详细介绍了Java中Stream的flatMapToInt方法,它用于将流中的每个元素转换为一个IntStream并合并。示例代码展示了如何使用flatMapToInt将字符串解析为整数流以及获取字符串长度的整数流。该操作是中间操作,会在最后执行时合并并关闭映射流。
摘要由CSDN通过智能技术生成

Stream flatMapToInt(Function mapper)返回一个IntStream,该结果包含将流中的每个元素替换为通过将提供的映射函数应用于每个元素而生成的映射流的内容而得到的结果。 Stream flatMapToInt(Function mapper)是一个中间操作。这些操作总是很懒。在Stream实例上调用中间操作,并在完成处理后将中间实例作为输出提供。

注意:将每个映射流的内容放入该流后,将其关闭。如果映射的流为null,则使用空流。

用法:

IntStream flatMapToInt(Function super T, ? extends IntStream> 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:flatMapToInt()函数,具有将字符串解析为Integer的操作。

// Java code for Stream flatMapToInt

// (Function mapper) to get an IntStream

// consisting of the results of replacing

// each element of this stream with the

// contents of a mapped stream.

import java.util.*;

import java.util.stream.IntStream;

class GFG {

// Driver code

public static void main(String[] args)

{

// Creating a list of Strings

List list = Arrays.asList("1", "2", "3",

"4", "5");

// Using Stream flatMapToInt(Function mapper)

list.stream().flatMapToInt(num -> IntStream.of(Integer.parseInt(num))).

forEach(System.out::println);

}

}

输出:

1

2

3

4

5

示例2:flatMapToInt()函数,具有按其长度映射字符串的操作。

// Java code for Stream flatMapToInt

// (Function mapper) to get an IntStream

// consisting of the results of replacing

// each element of this stream with the

// contents of a mapped stream.

import java.util.*;

import java.util.stream.IntStream;

class GFG {

// Driver code

public static void main(String[] args)

{

// Creating a List of Strings

List list = Arrays.asList("Geeks", "GFG",

"GeeksforGeeks", "gfg");

// Using Stream flatMapToInt(Function mapper)

// to get length of all strings present in list

list.stream().flatMapToInt(str -> IntStream.of(str.length())).

forEach(System.out::println);

}

}

输出:

5

3

13

3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值