Stream mapToDouble (asignador ToDoubleFunction) devuelve un DoubleStream que consiste en los resultados de aplicar la función dada a los elementos de esta secuencia.
Stream mapToDouble (ToDoubleFunction mapper) es una operación intermedia . Estas operaciones son siempre perezosas. Las operaciones intermedias se invocan en una instancia de Stream y, una vez que finalizan su procesamiento, dan una instancia de Stream como salida.
Sintaxis:
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.
Ejemplo 1: mapToDouble() con operación de selección de elementos que satisfacen la función dada.
// 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); } }
Producción :
15.0
Ejemplo 2: mapToDouble() con la operación de devolver una secuencia con un cuadrado de longitud de string.
// 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); } }
Producción :
9.0 16.0 9.0 9.0 1.0
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA