Java中的Stream mapToDouble()及其示例

流映射ToDouble(ToDouble函数映射器) 返回一个DoubleStream,其中包含将给定函数应用于该流元素的结果。

null

流映射ToDouble(ToDouble函数映射器)是一个 中间操作 .这些操作总是懒惰的。在流实例上调用中间操作,完成处理后,它们将流实例作为输出。

语法:

DoubleStream mapToDouble(ToDoubleFunction<? super T> mapper)

Where, 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: mapToDouble(),用于选择满足给定函数的元素。

// Java code for Stream mapToDouble
// (ToDoubleFunction mapper) to get a
// DoubleStream 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( "10" , "6.548" , "9.12" ,
"11" , "15" );
// Using Stream mapToDouble(ToDoubleFunction mapper)
// and displaying the corresponding DoubleStream
list.stream().mapToDouble(num -> Double.parseDouble(num))
.filter(num -> (num * num) * 2 == 450 )
.forEach(System.out::println);
}
}


输出:

15.0

例2: mapToDouble(),用于返回字符串长度平方的流。

// Java code for Stream mapToDouble
// (ToDoubleFunction mapper) to get a
// DoubleStream 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( "CSE" , "JAVA" , "gfg" ,
"C++" , "C" );
// Using Stream mapToDouble(ToDoubleFunction mapper)
// and displaying the corresponding DoubleStream
// which contains square of length of each element in
// given Stream
list.stream().mapToDouble(str -> str.length() * str.length())
.forEach(System.out::println);
}
}


输出:

9.0
16.0
9.0
9.0
1.0
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享