Entrada/Salida y Streams en Java
Alex Liu
Software Development Engineer
Transformación de datos con streams
List a Set)ArrayList, LinkedList)HashSet, TreeSet)Keys/Values como Streams) (p. ej., HashMap, TreeMap)Arrays.stream())ArrayList de ejemplo llamado names para el resto del vídeo
names: ["Alice", "Bob", "Charlie", "David"]
Set, Collectors y Streamimport java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream;// Convierte el `ArrayList` que creamos antes `names` a un `Stream` Stream<String> namesStream = names.stream();
[Alice, Bob, Charlie, David]// Usa `.map()` para convertir cada elemento a mayúsculas
Stream<String> upperCaseNameStream = namesStream.map(
name -> name.toUpperCase())
[ALICE, BOB, CHARLIE, DAVID]// Usa `.collect()` y `Collectors.toSet()` para guardar el stream transformado
upperCaseNameStream.collect(Collectors.toSet())
{CHARLIE, ALICE, BOB, DAVID}
El método .reduce()
Uso de .reduce(): recibe dos entradas
0(x, y) -> x + y significa:x es el total acumuladoy es el elemento actualy a x hasta procesar todos los elementosArrayList names en un objeto Stream.Stream<String> stream = names.stream();
.map() para convertir cada nombre a su longitud y .reduce() para sumarlasstream
.map(name -> name.length())
.reduce(0, (sum, length) -> sum + length);
20Entrada/Salida y Streams en Java