天天看点

Java8中forEach 和 forEachOrdered在的区别

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是按顺序处理的,显然前者速度更快。