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