在下面的一篇文章:
的"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++)
程序要快...
E | hongtenzone@foxmail.com B | http://www.cnblogs.com/hongten