Java查找与谓词匹配的第一个元素
示例
可以找到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带有结果的。
请注意,对于infiniteStream,Java将一直检查每个元素,直到找到结果为止。Stream如果Java为有限元素,则如果元素用完但仍然找不到结果,则它将返回emptyOptionalInt。