1.ArrayList集合测试(一百万调数据测试)并且循环里面不处理数据的情况下
public static void main(String[] args) {
ArrayList<Integer> alist = new ArrayList<Integer>();
for (int i = 0; i < 10000000; i++) {
alist.add(i);
}
long startTime;
long endTime;
//style1 增强for循环
startTime = System.nanoTime();
for (int i : alist) {
}
endTime = System.nanoTime();
System.out.println("style1:" + (endTime - startTime) + "毫微秒");
//style2 for循环 第一种方式
startTime = System.nanoTime();
for (int i = 0; i < alist.size(); i++) {
}
endTime = System.nanoTime();
System.out.println("style2:" + (endTime - startTime) + "毫微秒");
//style3 for循环 第二种方式
startTime = System.nanoTime();
int size = alist.size();
for (int i = 0; i < size; i++) {
}
endTime = System.nanoTime();
System.out.println("style3:" + (endTime - startTime) + "毫微秒");
//style4 for循环 第三种方式
startTime = System.nanoTime();
for (int i = alist.size() - 1; i > -1; i--) {
}
endTime = System.nanoTime();
System.out.println("style4:" + (endTime - startTime) + "毫微秒");
}
style1:22743400毫微秒
style2:4275000毫微秒
style3:3945400毫微秒
style4:3266700毫微秒
测试结果:性能 style4>style3>style2>style1 (多次测试的情况下 style3>style4>style2>style1 or style4>style3>style2>style1 )
1秒=1000豪秒;1毫秒=1000微秒;1微秒=1000毫微秒。
2.LinkedList集合测试
修改 上述代码 ArrayList<Integer> alist = new ArrayList<Integer>(); 改为 LinkedList<Integer> alist = new LinkedList<Integer>();
style1:103662600毫微秒
style2:2925400毫微秒
style3:2397999毫微秒
style4:2297000毫微秒
测试结果:性能 style4>style3>style2>style1 (多次测试的情况下 style3>style4>style2>style1 or style4>style3>style2>style1 )
2.LinkedList 集合循环中获取数据的情况下(10万条测试数据)
public static void main(String[] args) {
LinkedList<Integer> alist = new LinkedList<Integer>();
for (int i = 0; i < 100000; i++) {
alist.add(i);
}
long startTime;
long endTime;
//style1
startTime = System.nanoTime();
for (int i : alist) {
int a=i;
}
endTime = System.nanoTime();
System.out.println("style1:" + (endTime - startTime) + "毫微秒");
//style2
startTime = System.nanoTime();
for (int i = 0; i < alist.size(); i++) {
int a=alist.get(i);
}
endTime = System.nanoTime();
System.out.println("style2:" + (endTime - startTime) + "毫微秒");
//style3
startTime = System.nanoTime();
int size = alist.size();
for (int i = 0; i < size; i++) {
int a=alist.get(i);
}
endTime = System.nanoTime();
System.out.println("style3:" + (endTime - startTime) + "毫微秒");
//style4
startTime = System.nanoTime();
for (int i = alist.size() - 1; i > -1; i--) {
int a=alist.get(i);
}
endTime = System.nanoTime();
System.out.println("style4:" + (endTime - startTime) + "毫微秒");
}
测试结果:
style1:3182100毫微秒
style2:4634109800毫微秒
style3:3947321900毫微秒
style4:4058274000毫微秒
性能 style1>style3>style4>style2(多次测试的情况下 style1>style3>style4>style2 or style1>style3>style2>style4 )
3.ArrayList