Convertir Stream a Array en Java

Waleed 12 octubre 2023
  1. Usando el método convertStreamToArray() para convertir Stream a Array en Java
  2. Use el método toArray() para convertir Stream a Array en Java
  3. Usando el método mapToInt()
Convertir Stream a Array en Java

Una secuencia es una colección de objetos que admite muchos métodos y se puede personalizar para producir los resultados deseados.

Por otro lado, un array es una colección de variables del mismo tipo de datos declaradas con el mismo nombre. Puede definir un array como el tipo de datos primitivo o como un objeto de una clase.

Si define el array como un tipo de datos primitivo, los valores reales se almacenarán en una ubicación de memoria separada. Por el contrario, si define el array como un objeto de una clase, el objeto real se almacenará en un segmento de montón.

Usando el método convertStreamToArray() para convertir Stream a Array en Java

La secuencia viene con el método convertStreamtoArray() que devuelve un array junto con un elemento de la secuencia en un array de objetos.

Algoritmo

  1. Cree primero una secuencia de números enteros.
  2. Convierta un flujo de enteros en un array utilizando el método Stream.toArray().
  3. el array devuelta es del tipo Objeto[].
  4. Devuelva ese objeto array en el último.

Programa

import java.util.*;
import java.util.stream.*;

public class sampleArticle {
  // Function to convert Stream to Array
  public static <D> Object[] convertStreamToArray(Stream<D> stream) {
    return stream.toArray();
  }

  public static void main(String args[]) {
    // Create a stream of integers
    Stream<Integer> stream = Stream.of(2, 4, 6, 8, 10);

    // Convert Stream to array
    Object[] array = convertStreamToArray(stream);

    // Print the array of stream
    System.out.println("Array from Stream: " + Arrays.toString(array));
  }
}

Producción :

Array from Stream: [2,4,6,8,10]

Use el método toArray() para convertir Stream a Array en Java

Otro método Java predefinido para convertir flujos Java en un array es toArray(). Este método devuelve un array que contiene elementos de la secuencia. Utiliza la función de generador suministrada para asignar espacio a el array devuelta y cualquier otra matriz necesaria para la ejecución particionada de una función.

Algoritmo

  1. Cree la corriente.
  2. Usando el método toArray() para convertir el flujo en un array. Debe pasar el Object []: new como la función generadora para asignar espacio para que el array devuelta realice este trabajo.
  3. el array obtenida a través de este proceso es del tipo Object[].
  4. Devolver el Objeto Array[] en último lugar.

Programa

import java.util.*;
import java.util.stream.*;
public class sampleArticle {
  // defining function that converts stream into an array
  public static <D> Object[] convertStreamToArray(Stream<D> stream) {
    return stream.toArray(Object[] ::new);
  }

  public static void main(String args[]) {
    // Create a stream of integers
    Stream<Integer> stream1 = Stream.of(2, 4, 6, 8, 10);

    // Convert Stream to array
    Object[] array = convertStreamToArray(stream1);

    // Print the array of stream
    System.out.println("Converted array from Stream: " + Arrays.toString(array));
  }
}

Producción :

Converted array from Stream: [2,4,6,8,10]

Usando el método mapToInt()

Java 8 Stream viene con el método mapToInt() que devuelve un flujo entero que contiene elementos del flujo dado. Es un proceso intermedio. El intStream así obtenido se convierte luego en un array de enteros (int []) utilizando el método toArray().

Algoritmo

  1. Crea una secuencia de números enteros
  2. Convierta el flujo de números enteros en un flujo entero (intStream) utilizando el método Stream.mapToInt().
  3. Convierta el flujo resultante en un array de enteros (int []) utilizando el método toArray().
  4. El array obtenida por este método es de tipo entero.
  5. Devuelve el array de enteros (int []) en el último.

Programa

import java.util.*;
import java.util.stream.*;

public class sampleArticle {
  // defining function that converts stream into an array
  public static int[] convertStreamToArray(Stream<Integer> stream) {
    return stream.mapToInt(Integer::intValue).toArray();
  }

  public static void main(String args[]) {
    // Create a stream of integers
    Stream<Integer> stream1 = Stream.of(2, 4, 6, 8, 10);

    // Convert Stream to array
    int[] array = convertStreamToArray(stream1);

    // Print the array of stream
    System.out.println("Converted array from Stream: " + Arrays.toString(array));
  }
}

Producción :

Converted array from Stream: [2,4,6,8,10]

Artículo relacionado - Java Stream

Artículo relacionado - Java Array