Die Aufgabe
Aufgabe 10
Die folgende Aufgabe soll mit Hilfe von Streams und Lambdas gelöst werden.
Gegeben ist die folgende Liste:
List<Integer> zahlen = List.of(17, 9, 55, 97, 33);Es sollen nacheinander folgende Verarbeitungsschritte durchgeführt werden:
- Einen Stream erstellen
- Jede Zahl verdoppeln
- Jede der verdoppelten Zahlen in einen String verwandeln. So würde aus der Zahl 12 der String "12". Hierfür können Sie die statische Methode Integer.toString(int i) verwenden.
- Die Strings auswählen, die mit einer 1 beginnen. Ob ein String mit einem bestimmten Teilstring beginnt, kann mit Hilfe der Methode „startsWith(String teilstring)“ ermittelt werden.
- Jede dieser Zahlen auf der Konsole ausgeben.
Geben Sie nur die benötigten Code-Zeilen an, keine umgebende Methode oder Klasse, und auch keine Importe.
Gesucht sind nur die Codezeilen, ohne Klasse, ohne Methode, ohne Importe. Sie sollen die fünf Verarbeitungsschritte der Aufgabe mit einem Stream und Lambdas umsetzen, in genau dieser Reihenfolge.
map verwandelt jedes Element in ein neues, filter lässt nur die Elemente durch, für die eine Bedingung gilt, forEach macht am Ende mit jedem Element etwas. Was jede Station tut, sagt ein Lambda, eine kurze Funktion ohne Namen.- Einen Stream aus der Liste erstellen.
- map: jede Zahl verdoppeln.
- map: jede Zahl in einen String verwandeln.
- filter: nur Strings, die mit „1“ beginnen.
- forEach: jeden String ausgeben.
Zu dieser Probeklausur gibt es keine Musterlösung. Die Lösung hier ist selbst erarbeitet und ausgeführt.