Ich habe gerade angefangen, mit Java 8 Lambdas zu spielen und versuche, einige der Dinge zu implementieren, die ich von funktionalen Sprachen gewohnt bin.
Zum Beispiel haben die meisten funktionalen Sprachen eine Art find-Funktion, die auf Sequenzen oder Listen operiert und das erste Element zurückgibt, für das der Prädikat true
ist. Der einzige Weg, den ich in Java 8 sehe, um das zu erreichen, ist:
lst.stream()
.filter(x -> x > 5)
.findFirst()
Dies scheint mir jedoch ineffizient zu sein, da der Filter die ganze Liste durchsucht, zumindest nach meinem Verständnis (das falsch sein könnte). Gibt es einen besseren Weg?