Optional<T> findAny()
其作用就是从Stream中取任意一个元素,正常情况下一般会取第一个元素,在并行流的情况下会随机取一个元素。
下面看一个例子:
void stream_findAny() {
List<String> list = Arrays.asList("a","b","c","d","e","f","g");
Optional<String> opt = list.stream().findAny();
System.out.println(opt.get());
Optional<String> opt1 = list.parallelStream().findAny();
System.out.println(opt1.get());
}
执行结果:
a
e
第一个有序流打印结果为a,是流中第一个元素;第二个并行流打印结果为e,为流中任意一个元素。