可以找到Stream与条件匹配的第一个元素。
在此示例中,我们将找到第一个Integer正方形结束的正方形50000。
IntStream.iterate(1, i -> i + 1) // 生成无限流1,2,3,4 ... .filter(i -> (i*i) > 50000) // Filter to find elements where the square is >50000 .findFirst(); // 找到第一个过滤的元素
此表达式将返回OptionalInt带有结果的。
请注意,对于infinite Stream,Java将一直检查每个元素,直到找到结果为止。Stream如果Java为有限元素,则如果元素用完但仍然找不到结果,则它将返回empty OptionalInt。