Java8引入了许多新特性其中findAny和findFirst就是其中之一,那么有什么区别呢?
Optional< T > findFirst():返回列表中的第一个元素。
Optional< T > findAny() :
findAny(),返回的元素是不确定的,对于同一个列表多次调用findAny()有可能会返回不同的 值。使用findAny()是为了更高效的性能。如果是数据较少,串行地情况下,一般会返回第一个结果,如果是并行 的情况,那就不能确保是第一个。比如下面的例子会随机地返回OptionalInt[50]。
System.out.println(IntStream.range(0, 100).parallel().findAny());