Acabo de comenzar a jugar con Java 8 lambdas y estoy tratando de implementar algunas de las cosas a las que estoy acostumbrado en lenguajes funcionales.
Por ejemplo, la mayoría de los lenguajes funcionales tienen algún tipo de función de búsqueda que opera en secuencias o listas que devuelve el primer elemento, para el cual está el predicado true
. La única forma en que puedo ver para lograr esto en Java 8 es:
lst.stream()
.filter(x -> x > 5)
.findFirst()
Sin embargo, esto me parece ineficiente, ya que el filtro escaneará toda la lista, al menos a mi entender (lo que podría estar mal). ¿Hay una mejor manera?