找到匹配谓词的第一个元素
可以找到与条件匹配的 Stream
的第一个元素。
对于这个例子,我们将找到第一个 Integer
,其正方形超过 50000
。
IntStream.iterate(1, i -> i + 1) // Generate an infinite stream 1,2,3,4...
.filter(i -> (i*i) > 50000) // Filter to find elements where the square is >50000
.findFirst(); // Find the first filtered element
该表达式将返回带有结果的 OptionalInt
。
请注意,对于无限 Stream
,Java 将继续检查每个元素,直到找到结果。使用有限的 Stream
,如果 Java 耗尽元素但仍无法找到结果,则返回空的 OptionalInt
。