forEach 和 forEachOrdered在Java 8 Stream的区别

时间:2022-01-06 19:06:18
Stream.of("AAA","BBB","CCC").parallel().forEach(s->System.out.println("Output:"+s));
Stream.of("AAA","BBB","CCC").parallel().forEachOrdered(s->System.out.println("Output:"+s);

第二行输出的一直是:
AAA
BBB
CCC
而第一种输出的情况不确定。应为是并行处理。
其实两者完成的功能类似,主要区别在并行处理上,forEach是并行处理的,forEachOrder是按顺序处理的,显然前者速度更快。