Un Stream es una secuencia de objetos que admiten varios métodos que se pueden canalizar para producir el resultado deseado.
Una array es un grupo de variables del mismo tipo a las que se hace referencia con un nombre común. Una array puede contener tipos de datos primitivos, así como objetos de una clase, según la definición de la array. En el caso de tipos de datos primitivos, los valores reales se almacenan en ubicaciones de memoria contiguas. En el caso de objetos de una clase, los objetos reales se almacenan en un segmento de montón.
A continuación se muestran varios métodos para convertir Stream en una array:
- Uso de toArray() : Stream proporciona el método toArray() que devuelve una array que contiene los elementos de la secuencia en forma de array de objetos.
Sintaxis:
stream.toArray()
Algoritmo :
- Obtener la corriente
- Convierta Stream en un Array usando el método Stream.toArray().
- La array obtenida es de tipo Object[]
- Devuelve el objeto de array []
Programa:
// Java Program to convert
// Stream to array in Java 8
import
java.util.*;
import
java.util.stream.*;
import
java.util.function.Function;
class
GFG {
// Function to convert Stream to Array
public
static
<T> Object[] convertStreamToArray(Stream<T> stream)
{
return
stream.toArray();
}
public
static
void
main(String args[])
{
// Create a stream of integers
Stream<Integer> stream = Stream.of(
1
,
2
,
3
,
4
,
5
);
// 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: [1, 2, 3, 4, 5]
- Uso de toArray ( generador de funciones internas) : este método devuelve una array que contiene los elementos de esta secuencia, utilizando la función de generador proporcionada para asignar la array devuelta, así como cualquier array adicional que pueda ser necesaria para una ejecución particionada o para cambiar el tamaño.
Sintaxis:
<A> A[] toArray(IntFunction<A[]> generator)
Algoritmo :
- Obtener la corriente
- Convierta Stream en una array usando el método Stream.toArray() pasando Object[]::new como la función generadora para asignar la array devuelta.
- La array obtenida es de tipo Object[]
- Devuelve el objeto de array []
Programa:
// Java Program to convert
// Stream to array in Java 8
import
java.util.*;
import
java.util.stream.*;
import
java.util.function.Function;
class
GFG {
// Function to convert Stream to Array
public
static
<T> Object[] convertStreamToArray(Stream<T> stream)
{
return
stream.toArray(Object[] ::
new
);
}
public
static
void
main(String args[])
{
// Create a stream of integers
Stream<Integer> stream = Stream.of(
1
,
2
,
3
,
4
,
5
);
// 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: [1, 2, 3, 4, 5]
- Corriente
a int[] usando mapToInt() : Java 8 Stream API proporciona el método mapToInt() que devuelve un IntStream que consta de los resultados de aplicar la función dada a los elementos de este flujo. Esta es una operación intermedia. El IntStream obtenido luego se convierte en int[] usando toArray().Algoritmo :
- Obtener el flujo de enteros
- Convierta Stream en un IntStream usando el método Stream.mapToInt().
- Convierta el IntStream obtenido en int[] usando toArray()
- La array obtenida es de tipo Integer
- Devuelve el Array int[]
Programa:
// Java Program to convert
// Stream to array in Java 8
import
java.util.*;
import
java.util.stream.*;
import
java.util.function.Function;
class
GFG {
// Function to convert Stream to 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> stream = Stream.of(
1
,
2
,
3
,
4
,
5
);
// Convert Stream to array
int
[] array = convertStreamToArray(stream);
// Print the array of stream
System.out.println(
"Array of Integer from Stream: "
+ Arrays.toString(array));
}
}
Producción:Array of Integer from Stream: [1, 2, 3, 4, 5]
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA