1.5 KiB
1.5 KiB
Streams
Erleichtert das Verarbeiten von Sammlungen aus den Collection Framework.
Grundlagen
Die Stream-API bietet Higher Order Functions (HOF) die auf Collections arbeiten. Dazu zählen:
- filter
- map
- fold
Die Verarbeitung erfolgt in drei Schritten: Erzeugung des Streams, Verarbeitung des Streams und zum Schluss Terminieren des Streams.
Beispiel
List<String> liste = new ArrayList<String>();
liste.addAll("was", "geht", "ab", "?");
int laenge = liste.stream().map(text -> text.length()).reduce(0, Integer::sum);
List<String> nurWoerter = liste.stream()
.filter(s -> s.matches("[a-zA-Z]"))
.collect(Collectors.toList());
int nurLangeWoerterLaenge = liste.stream()
.filter(s -> s.matches("[a-zA-Z]"))
.filter(s -> s.length() >= 3)
.map(s -> s.length())
.reduce(0, Integer::sum)
Aufgabe
- Berechne in
SummiererWerkzeug.setzeSumme()
die Summe der einzelnen Zähler mithilfe von Streams.