新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容主要讲解“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) { /*添加数据*/ Listlist = 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
测试二
Listlist = new ArrayList<>(); for (int i = 0; i < 1000; i++) { list.add("第" + i + "条数据"); }
结果:
for 循环: 1ms 增强for 循环: 1ms foreach 循环:121ms stream.foreach循环:3ms
测试三
Listlist = 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()有什么区别”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!