Ho appena iniziato a giocare con Java 8 lambdas e sto cercando di implementare alcune delle cose a cui sono abituato nei linguaggi funzionali.
Ad esempio, la maggior parte dei linguaggi funzionali ha un qualche tipo di funzione find che opera su sequenze o elenchi che restituiscono il primo elemento, per cui è il predicato true
. L'unico modo che posso vedere per raggiungere questo obiettivo in Java 8 è:
lst.stream()
.filter(x -> x > 5)
.findFirst()
Tuttavia, questo mi sembra inefficiente, poiché il filtro analizzerà l'intero elenco, almeno per quanto ne so (che potrebbe essere sbagliato). Esiste un modo migliore?