La Lista es una interfaz secundaria de la Colección. Es una colección ordenada de objetos en los que se pueden almacenar valores duplicados. Dado que List conserva el orden de inserción, permite el acceso posicional y la inserción de elementos. La interfaz de lista se implementa mediante las clases ArrayList , LinkedList , Vector y Stack .
Un Stream es una secuencia de objetos que admite varios métodos que se pueden canalizar para producir el resultado deseado.
A continuación se muestran varios métodos para convertir List to Stream en Java:
- Uso del método List.stream() : la interfaz Java List proporciona el método stream() que devuelve un Stream secuencial con esta colección como fuente.
Sintaxis:
List.stream()
Algoritmo :
- Obtener la corriente
- Convierta Stream en List usando el método List.stream().
- Devolver la lista
Programa:
// Java Program to convert
// List to Stream in Java 8
import
java.util.*;
import
java.util.stream.*;
import
java.util.function.Function;
class
GFG {
// Generic function to convert a list to stream
private
static
<T> Stream<T> convertListToStream(List<T> list)
{
return
list.stream();
}
public
static
void
main(String args[])
{
// Create a stream of integers
List<String> list = Arrays.asList(
"GeeksForGeeks"
,
"A computer portal"
,
"for Geeks"
);
// Print the List
System.out.println(
"List: "
+ list);
// Convert List to stream
Stream<String> stream = convertListToStream(list);
// Print the Stream
System.out.println(
"Stream from List: "
+ Arrays.toString(stream.toArray()));
}
}
Producción:List: [GeeksForGeeks, A computer portal, for Geeks] Stream from List: [GeeksForGeeks, A computer portal, for Geeks]
- Filter Stream usando un predicado : el predicado de interfaz funcional se define en el paquete java.util.Function y, por lo tanto, se puede usar como destino de asignación para una expresión lambda o una referencia de método. Mejora la capacidad de administración del código, ayuda a probarlos por separado.
Algoritmo :
- Obtener la corriente
- Defina la condición de predicado utilizando métodos estáticos predefinidos o creando un nuevo método anulando la interfaz de predicado. En este programa, la interfaz se anula para que coincida con las strings que comienzan con «G».
- Convierta Stream en List usando el método List.stream().
- Filtre el flujo obtenido usando la condición de predicado definida
- Se ha obtenido el Stream requerido.
Por lo tanto, imprima los elementos filtrados de Stream usando el método forEach().
También se puede devolver según sea necesario.
Programa:
// Java Program to convert
// List to Stream in Java 8
import
java.util.*;
import
java.util.stream.*;
import
java.util.function.*;
class
GFG {
public
static
void
main(String args[])
{
// Create a stream of integers
List<String> list = Arrays.asList(
"GeeksForGeeks"
,
"A computer portal"
,
"for"
,
"Geeks"
);
// Print the List
System.out.println(
"List: "
+ list);
// Create the predicate for item starting with G
Predicate<String> predicate =
new
Predicate<String>() {
@Override
public
boolean
test(String s)
{
// filter items that start with "G"
return
s.startsWith(
"G"
);
}
};
System.out.println(
"Stream from List with items"
+
" starting with G: "
);
// Convert List to stream
list.stream()
.filter(predicate)
.forEach(System.out::println);
}
}
Producción:List: [GeeksForGeeks, A computer portal, for, Geeks] Stream from List with items starting with G: GeeksForGeeks Geeks
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA