LongStream flatMap (asignador de funciones largas) en Java

LongStream flatMap(LongFunction mapper) devuelve un flujo 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. Esta 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:

LongStream flatMap(LongFunction<? extends LongStream> mapper)

Parámetros:

  1. LongStream: una secuencia de elementos primitivos de valor largo.
  2. LongFunction: una función que acepta un argumento de valor largo y produce un resultado.
  3. mapeador: una función sin estado que se aplica a cada elemento y la función devuelve la nueva secuencia.

Valor de retorno: LongStream flatMap (Mapeador de función larga) devuelve una secuencia mediante una secuencia asignada utilizando la función de asignación.

Ejemplo 1: Usar LongStream flatMap() para obtener el cubo de elementos de LongStream.

// Java code for LongStream flatMap
// (LongFunction mapper) to get a stream
// 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.LongStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an LongStream
        LongStream stream1 = LongStream.of(4L, 5L, 6L, 7L);
  
        // Using LongStream flatMap()
        LongStream stream2 = stream1.flatMap(num
                      -> LongStream.of(num * num * num));
  
        // Displaying the resulting LongStream
        stream2.forEach(System.out::println);
    }
}

Producción :

64
125
216
343

Ejemplo 2: uso de LongStream flatMap() para obtener el recuento de bits establecidos en representación binaria de elementos de LongStream.

// Java code for LongStream flatMap
// (LongFunction mapper) to get a stream
// 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.LongStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an LongStream
        LongStream stream1 = LongStream.of(49L, 64L, 81L, 100L);
  
        // Using LongStream flatMap()
        LongStream stream2 = stream1.flatMap(num
                        -> LongStream.of(Long.bitCount(num)));
  
        // Displaying the resulting LongStream
        stream2.forEach(System.out::println);
    }
}

Producción :

3
1
3
3

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 *