Input/Output en streams in Java
Alex Liu
Software Development Engineer
Gegevens transformeren met streams
List naar Set)ArrayList, LinkedList)HashSet, TreeSet)Keys/Values als Streams) (bv. HashMap, TreeMap)Arrays.stream())Voorbeeld ArrayList genaamd names voor de rest van de video
names: ["Alice", "Bob", "Charlie", "David"]
Set, Collectors en Streamimport java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream;// Converteer de eerder gemaakte `ArrayList` `names` naar een `Stream` Stream<String> namesStream = names.stream();
[Alice, Bob, Charlie, David]// Gebruik `.map()` om elk element naar hoofdletters om te zetten
Stream<String> upperCaseNameStream = namesStream.map(
name -> name.toUpperCase())
[ALICE, BOB, CHARLIE, DAVID]// gebruik `.collect()` en `Collectors.toSet()` om de getransformeerde stream op te slaan
upperCaseNameStream.collect(Collectors.toSet())
{CHARLIE, ALICE, BOB, DAVID}
De methode .reduce()
Gebruik van .reduce() vraagt twee inputs
0(x, y) -> x + y betekent:x is de opgetelde tussenstandy is het huidige elementy bij x op tot alles is verwerktArrayList names om naar een Stream-object.Stream<String> stream = names.stream();
.map() om de naam naar de lengte te zetten en .reduce() om ze op te tellenstream
.map(name -> name.length())
.reduce(0, (sum, length) -> sum + length);
20Input/Output en streams in Java