package com.shrimpking.t3;

import java.util.Arrays;
import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Shrimpking
 * @create 2024/9/11 16:17
 */
public class ForEachStream
{
    public static void main(String[] args)
    {
        List<Integer> list = Arrays.asList(1,2,3,4,5,6);
        System.out.print("foreach:");
        list.stream().forEach(x -> System.out.print(x + " "));
        System.out.println();
        System.out.print("foreachOrdered:");
        list.stream().forEachOrdered(y -> System.out.print(y + " "));
        System.out.println();
        System.out.println("-----");
        System.out.println("以下是并行流的迭代:");
        System.out.print("foreach:");
        list.parallelStream().forEach(x -> System.out.print(x + " "));
        System.out.println();
        System.out.print("foreachOrdered:");
        list.parallelStream().forEachOrdered(y -> System.out.print(y + " "));
        System.out.println();

        //说明
        //对并行流调用foreach方法输出的元素顺序是不确定的
        //由于并行流中元素的顺序被打乱,维护原有顺序是需要一定开销的,
        //因此对并行流调用foreachOrdered方法效率会差一些。


    }
}