java maptodouble_Java Stream flatMapToDouble()用法及代码示例

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

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

用法:

DoubleStream flatMapToDouble(Function super T, ? extends DoubleStream> mapper)

Where, DoubleStream is a sequence of primitive

double-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:flatMapToDouble()函数,具有将字符串解析为两倍的操作。

// Java code for Stream flatMapToDouble

// (Function mapper) to get an DoubleStream

// 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.DoubleStream;

class GFG {

// Driver code

public static void main(String[] args)

{

// Creating a list of Strings

List list = Arrays.asList("1.5", "2.7", "3",

"4", "5.6");

// Using Stream flatMapToDouble(Function mapper)

list.stream().flatMapToDouble(num

-> DoubleStream.of(Double.parseDouble(num)))

.forEach(System.out::println);

}

}

输出:

1.5

2.7

3.0

4.0

5.6

示例2:flatMapToDouble()函数,用于返回具有字符串长度的流。

// Java code for Stream flatMapToDouble

// (Function mapper) to get an DoubleStream

// 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.DoubleStream;

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 flatMapToDouble(Function mapper)

// to get length of all strings present in list

list.stream().flatMapToDouble(str

-> DoubleStream.of(str.length()))

.forEach(System.out::println);

}

}

输出:

5.0

3.0

13.0

3.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值