千家信息网

java的for()、增强for()、foreach()、stream().foreach()有什么区别

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容主要讲解"java的for()、增强for()、foreach()、stream().foreach()有什么区别",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编
千家信息网最后更新 2025年12月03日java的for()、增强for()、foreach()、stream().foreach()有什么区别

本篇内容主要讲解"java的for()、增强for()、foreach()、stream().foreach()有什么区别",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java的for()、增强for()、foreach()、stream().foreach()有什么区别"吧!

  • 测试一

public class TestFor {    private static void doSome(String s) {    }    public static void main(String[] args) {        /*添加数据*/        List list = new ArrayList<>();        for (int i = 0; i < 10; i++) {            list.add("第" + i + "条数据");        }        /*for循环*/        long st1 = System.currentTimeMillis();        for (int i = 0; i < list.size(); i++) {            doSome(list.get(i));        }        /*增强for循环*/        long st2 = System.currentTimeMillis();        for (String s : list) {            doSome(s);        }        /*foreach*/        long st3 = System.currentTimeMillis();        list.forEach(s -> doSome(s));        /*stream.foreach*/        long st4 = System.currentTimeMillis();        list.stream().forEach(s -> doSome(s));        long st5 = System.currentTimeMillis();        print(st1, st2, st3, st4, st5);    }    /*时间输出*/        public static void print(long s1, long s2, long s3, long s4, long s5) {        System.out.println("for           循环: " + (s2 - s1) + "ms");        System.out.println("增强for       循环: " + (s3 - s2) + "ms");        System.out.println("foreach       循环:" + (s4 - s3) + "ms");        System.out.println("stream.foreach循环:" + (s5 - s4) + "ms");    }}

结果:

 for           循环: 0ms        增强for       循环: 0ms        foreach       循环:129ms        stream.foreach循环:3ms

  • 测试二

List list = new ArrayList<>();for (int i = 0; i < 1000; i++) {        list.add("第" + i + "条数据");}

结果:

 for           循环: 1ms        增强for       循环: 1ms        foreach       循环:121ms        stream.foreach循环:3ms

  • 测试三

List list = new ArrayList<>();for (int i = 0; i < 1000000; i++) {        list.add("第" + i + "条数据");}

结果:

 for           循环: 17ms        增强for       循环: 23ms        foreach       循环:165ms        stream.foreach循环:18ms

  • 测试四

private static void doSome(String s) {        try {                Thread.sleep(1);        } catch (InterruptedException e) {                e.printStackTrace();        }}

结果:

 for           循环: 184ms        增强for       循环: 169ms        foreach       循环:224ms        stream.foreach循环:116ms

到此,相信大家对"java的for()、增强for()、foreach()、stream().foreach()有什么区别"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0