最佳答案
我刚刚开始使用Java 8 lambdas,我正在尝试实现一些我在函数式语言中习惯的东西。
例如,大多数函数式语言都有某种find函数,它对序列或列表进行操作,返回第一个元素,其谓词为true
。我认为在Java 8中实现这一目标的唯一方法是:
lst.stream()
.filter(x -> x > 5)
.findFirst()
然而,这似乎对我来说效率很低,因为过滤器会扫描整个列表,至少在我的理解(这可能是错误的)。有没有更好的办法?