您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“java的for()、增強(qiáng)for()、foreach()、stream().foreach()有什么區(qū)別”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“java的for()、增強(qiáng)for()、foreach()、stream().foreach()有什么區(qū)別”吧!
測(cè)試一
public class TestFor { private static void doSome(String s) { } public static void main(String[] args) { /*添加數(shù)據(jù)*/ List<String> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { list.add("第" + i + "條數(shù)據(jù)"); } /*for循環(huán)*/ long st1 = System.currentTimeMillis(); for (int i = 0; i < list.size(); i++) { doSome(list.get(i)); } /*增強(qiáng)for循環(huán)*/ 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); } /*時(shí)間輸出*/ public static void print(long s1, long s2, long s3, long s4, long s5) { System.out.println("for 循環(huán): " + (s2 - s1) + "ms"); System.out.println("增強(qiáng)for 循環(huán): " + (s3 - s2) + "ms"); System.out.println("foreach 循環(huán):" + (s4 - s3) + "ms"); System.out.println("stream.foreach循環(huán):" + (s5 - s4) + "ms"); } }
結(jié)果:
for 循環(huán): 0ms 增強(qiáng)for 循環(huán): 0ms foreach 循環(huán):129ms stream.foreach循環(huán):3ms
測(cè)試二
List<String> list = new ArrayList<>(); for (int i = 0; i < 1000; i++) { list.add("第" + i + "條數(shù)據(jù)"); }
結(jié)果:
for 循環(huán): 1ms 增強(qiáng)for 循環(huán): 1ms foreach 循環(huán):121ms stream.foreach循環(huán):3ms
測(cè)試三
List<String> list = new ArrayList<>(); for (int i = 0; i < 1000000; i++) { list.add("第" + i + "條數(shù)據(jù)"); }
結(jié)果:
for 循環(huán): 17ms 增強(qiáng)for 循環(huán): 23ms foreach 循環(huán):165ms stream.foreach循環(huán):18ms
測(cè)試四
private static void doSome(String s) { try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } }
結(jié)果:
for 循環(huán): 184ms 增強(qiáng)for 循環(huán): 169ms foreach 循環(huán):224ms stream.foreach循環(huán):116ms
到此,相信大家對(duì)“java的for()、增強(qiáng)for()、foreach()、stream().foreach()有什么區(qū)別”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。