list.forEach 和 list.stream().forEach

总结:使用上没啥太大区别,百万以上级级别使用 比增强for循环要快。亿级的使用list.parallelStream().forEach要快,但是parallelStream无序。

复制import org.springframework.util.StopWatch;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;

public class Demo {
    public static void main(String[] args) {
        StopWatch watch = new StopWatch();
        //AtomicInteger count = new AtomicInteger();
        // List<String> list = Arrays.asList("xi","lin","na","yi");
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < 10000000; i++) {
            list.add(i);
        }
        // 百万以上 增强for还是forEach都可以
        System.out.println("增强for循环:");
        watch.start("任务1");
        for (Integer s : list) {
            //count.getAndIncrement();
        }
        watch.stop();

        // 百万以上 用forEach
        System.out.println("\n集合流调用forEach:");
        watch.start("任务2");
        list.stream().forEach(s->{
            //count.getAndIncrement();
        });
        watch.stop();

        System.out.println("\n集合的迭代器: ");
        watch.start("任务3");
        list.forEach(s->{
            //count.getAndIncrement();
        });
        watch.stop();

        // 这种亿级别使用
        System.out.println("\n多线程集合流:");
        watch.start("任务4");
        list.parallelStream().forEach(s->{
            //count.getAndIncrement();
        });
        watch.stop();
        System.out.println(watch.prettyPrint());
        //System.out.println(count);
    }
}
posted @   五字妹妹实在是棒  阅读(90)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
欢迎wuzimeimei来到《list.forEach 和 list.stream().forEach - 五字妹妹实在是棒 - 博客园》
返回顶部
点击右上角即可分享
微信分享提示