在下面的一篇文章:
的"13. 盡量減少對變量的重復計算"中描述的:
我有以下的質疑!!如果有不對的地方,請大家拍磚...^_^
先看看我做的測試程序:
===========================================================
代碼部分:
===========================================================
/java_test/src/com/b510/fors/TestFor.java
1 package com.b510.fors; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 /** 7 * 13. 盡量減少對變量的重復計算? 8 * @author hongten<br> 9 * <a href="http://www.admin10000.com/document/1070.html">26個提升java性能需要注意的地方</a> 10 */ 11 public class TestFor { 12 13 public static void main(String[] args) { 14 int length = 10000; 15 List<String> list = new ArrayList<String>(); 16 17 for(int i = 0,len = length;i< len;i++){ 18 list.add(String.valueOf(i)); 19 } 20 21 long testFor = testFor(list); 22 long testFors = testFors(list); 23 24 25 System.out.println("the result is following...."); 26 System.out.println("提倡方法 -- > testfor : "+testFor); 27 System.out.println("================"); 28 System.out.println("不提倡方法 -- > testFors : "+testFors); 29 } 30 31 /** 32 * <a href="http://www.admin10000.com/document/1070.html">26個提升java性能需要注意的地方</a><br> 33 * 中提倡的方法 34 * @param list 35 * @return 36 */ 37 public static long testFor(List<String> list){ 38 long begin = System.currentTimeMillis(); 39 for(int i =0,len = list.size();i< len;i++){ 40 System.out.println(list.get(i).toString()); 41 } 42 long end = System.currentTimeMillis(); 43 return (end - begin); 44 } 45 46 /** 47 * <a href="http://www.admin10000.com/document/1070.html">26個提升java性能需要注意的地方</a><br> 48 * 中不提倡的方法 49 * @param list 50 * @return 51 */ 52 public static long testFors(List<String> list){ 53 long begin = System.currentTimeMillis(); 54 for(int i = 0;i<list.size();i++){ 55 System.out.println(list.get(i).toString()); 56 } 57 long end = System.currentTimeMillis(); 58 return (end - begin); 59 } 60 }
運行效果:
a.
1 int length = 10;
b.
1 int length = 100;
c.
1 int length = 1000;
d.
1 int length = 10000;
總結:測試了很多數據,表示
1 for(int i = 0;i<list.size();i++)
要比
1 for(int i =0,len = list.size();i< len;i++)
程序要快...
========================================================
More reading,and english is important.
I'm Hongten
大哥哥大姐姐,覺得有用打賞點哦!多多少少沒關系,一分也是對我的支持和鼓勵。謝謝。
Hongten博客排名在100名以內。粉絲過千。
Hongten出品,必是精品。
E | hongtenzone@foxmail.com B | http://www.cnblogs.com/hongten
========================================================