static long time = 0; //每次消耗时间 static long total=0; //总时间 static float average; //时间平均值 public static void main(String[] args) { for (int i = 0; i < 10; i++) { Generic();//泛型 }
// for (int i = 0; i < 10; i++) {
// NonGeneric();//原始类型
// } System.out.println("10次总时间: " + total + " ms");//10次消耗时间 System.out.println("10次平均值: " + average + " ms"); }
//原始类型 public static void NonGeneric() { long start = System.currentTimeMillis();//开始时间 ArrayList no_list=new ArrayList(); for (int i = 0; i < 1000000; i++) { no_list.add(new Integer(i)); //添加 } for (int i = 0; i < 1000000; i++) { int j = ((Integer) no_list.get(i)).intValue();//取值 } long end = System.currentTimeMillis();//结束时间 time =(end - start); total +=time; average = total/10f; System.out.println("NonGeneric: " + time + " ms");//每次输出消耗时间 }
//泛型 public static void Generic() { long start = System.currentTimeMillis();//开始时间 ArrayList<Integer> list = new ArrayList<Integer>(); for (int k = 0; k < 1000000; k++) { list.add(new Integer(k));//添加 } for (int n = 0; n < 1000000; n++) { int m = list.get(n).intValue();//取值 } long end = System.currentTimeMillis();//结束时间. time =(end - start); total +=time; average = total/10f; System.out.println("Generic: " + time + " ms");//每次输出消耗时间 }
}
Generic: 375 ms
Generic: 281 ms
Generic: 297 ms
Generic: 235 ms
Generic: 203 ms
Generic: 312 ms
Generic: 219 ms
Generic: 203 ms
Generic: 312 ms
Generic: 219 ms 10次总时间: 2656 ms
10次平均值: 265.6 ms
NonGeneric: 375 ms
NonGeneric: 281 ms
NonGeneric: 297 ms
NonGeneric: 219 ms
NonGeneric: 219 ms
NonGeneric: 312 ms
NonGeneric: 219 ms
NonGeneric: 219 ms
NonGeneric: 312 ms
NonGeneric: 219 ms 10次总时间: 2672 ms
10次平均值: 267.2 ms