Transmita flatMapToDouble() en Java con ejemplos

Stream flatMapToDouble(Function mapper) devuelve un DoubleStream que consta de los resultados de reemplazar cada elemento de este flujo con el contenido de un flujo mapeado producido al aplicar la función de mapeo proporcionada a cada elemento. Stream flatMapToDouble (Mapeador de funciones) 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.

Nota: cada transmisión asignada se cierra después de que su contenido se haya colocado en esta transmisión. Si una secuencia asignada es nula, en su lugar se utiliza una secuencia vacía.
Sintaxis:

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.

Ejemplo 1: función flatMapToDouble() con operación de string de análisis para duplicar.

// 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<String> 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);
    }
}

Producción :

1.5
2.7
3.0
4.0
5.6

Ejemplo 2: función flatMapToDouble() con operación de flujo de retorno con longitud de strings.

// 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<String> 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);
    }
}

Producción :

5.0
3.0
13.0
3.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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *