Java Set es parte del paquete java.util y amplía la interfaz java.util.Collection. No permite el uso de elementos duplicados y, como máximo, solo puede acomodar un elemento nulo.
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 los diversos métodos para convertir Set to Stream .
- Uso de Collection.stream() : este método implica convertir directamente el Set a Stream usando el método Collection.stream().
Algoritmo :
- Obtener el Conjunto a convertir.
- Convertir conjunto en secuencia. Esto se hace usando Set.stream().
- Devolver/Imprimir la secuencia.
// Java Program to convert
// Set to Stream in Java 8
import
java.util.*;
import
java.util.stream.*;
import
java.util.function.*;
class
GFG {
// Generic function to convert a set to stream
private
static
<T> Stream<T> convertSetToStream(Set<T> set)
{
return
set.stream();
}
// Main method
public
static
void
main(String args[])
{
// Create a set of String
Set<Integer> setOfInteger =
new
HashSet<>(
Arrays.asList(
2
,
4
,
6
,
8
,
10
));
// Print the set of Integer
System.out.println(
"Set of Integer: "
+ setOfInteger);
// Convert Set of Stream
Stream<Integer>
streamOfInteger = convertSetToStream(setOfInteger);
// Print the Stream of Integer
System.out.println(
"Stream of Integer: "
+ Arrays.toString(
streamOfInteger.toArray()));
}
}
Producción:Set of Integer: [2, 4, 6, 8, 10] Stream of Integer: [2, 4, 6, 8, 10]
- Uso de predicado para filtrar el flujo : en este método, se usa el método de filtro (predicado) que devuelve un flujo que consta de elementos que coinciden con la condición del predicado dada. El predicado de interfaz funcional se define en el paquete java.util.Function y, por lo tanto, se puede utilizar 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 el Conjunto a convertir.
- 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».
- Convertir conjunto en secuencia. Esto se hace usando Set.stream().
- Filtre el flujo obtenido usando la condición de predicado definida
- Se ha obtenido el Stream requerido. Devolver/Imprimir la secuencia.
// Java Program to convert
// Set to Stream in Java 8
import
java.util.*;
import
java.util.stream.*;
import
java.util.function.*;
class
GFG {
// Generic function to convert a set to stream
private
static
<T> Stream<T>
convertSetToStream(Set<T> set, Predicate<T> predicate)
{
return
set.stream()
.filter(predicate);
}
// Main method
public
static
void
main(String args[])
{
// Create a set of String
Set<String>
setOfString =
new
HashSet<>(
Arrays.asList(
"GeeksForGeeks"
,
"A computer portal"
,
"for"
,
"Geeks"
));
// Print the set of String
System.out.println(
"Set of String: "
+ setOfString);
// 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"
);
}
};
// Convert Set of Stream
Stream<String>
streamOfString = convertSetToStream(setOfString, predicate);
// Print the filter Stream of String
System.out.println(
"Stream from List with items"
+
" starting with G: "
);
System.out.println(Arrays.toString(
streamOfString.toArray()));
}
}
Producción:Set of String: [for, Geeks, GeeksForGeeks, A computer portal] Stream from List with items starting with G: [Geeks, GeeksForGeeks]
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA