IntStream flatMap (mapeador de funciones internas) en Java

IntStream flatMap(IntFunction mapper) devuelve un flujo que consiste en 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:

IntStream flatMap(IntFunction<? extends IntStream> mapper)

Parámetros:

  1. IntStream: una secuencia de elementos primitivos de valor int.
  2. IntFunction: una función que acepta un argumento de valor int 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: IntStream flatMap (IntFunction mapper) devuelve una secuencia mediante una secuencia asignada utilizando la función de asignación.

Ejemplo 1: Uso de IntStream flatMap() para obtener el cubo de elementos de IntStream.

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

Producción :

64
125
216
343

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

// Java code for IntStream flatMap
// (IntFunction 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.IntStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an IntStream
        IntStream stream1 = IntStream.of(49, 64, 81, 100);
  
        // Using IntStream flatMap()
        IntStream stream2 = stream1.flatMap(num
               -> IntStream.of(Integer.bitCount(num)));
  
        // Displaying the resulting IntStream
        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 *