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:
- IntStream: una secuencia de elementos primitivos de valor int.
- IntFunction: una función que acepta un argumento de valor int y produce un resultado.
- 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