Java8 中Stream forEach 与 foreEachOrdered 的区别

/** * Java8 中stream流的 forEach 与 foreEachOrdered 的区别 */
public class Main {

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("x");
        list.add("y");
        list.add("z");

        list.parallelStream().forEach(x -> System.out.println(x));
        list.parallelStream().forEachOrdered(x -> System.out.println(x));

        //主要的区别在并行流的处理上
        //输出的顺序不一定(效率更高)
        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));
    }
}
    原文作者:英杰王
    原文地址: https://blog.csdn.net/dalinsi/article/details/78067477
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞