package javatest;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class javatest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
long t1,t2;
for(int j = 0; j < 10000000; j++){
list.add("aaaaaabbbbbbbcccccccc");
}
//==================== 方式 1 =========================
t1=System.currentTimeMillis();
for(String tmp:list){
//System.out.println(tmp);
}
t2=System.currentTimeMillis();
System.out.println("List first visit method Run Time:" + (t2 -t1) + "(ms)");
//==================== 方式 2 =========================
t1=System.currentTimeMillis();
for(int i = 0; i < list.size(); i++){
list.get(i);
//System.out.println(list.get(i));
}
t2=System.currentTimeMillis();
System.out.println("List second visit method Run Time:" + (t2 -t1) + "(ms)");
//===================== 方式 3 ========================
Iterator<String> iter = list.iterator();
t1=System.currentTimeMillis();
while(iter.hasNext()){
iter.next();
//System.out.println(iter.next());
}
t2=System.currentTimeMillis();
System.out.println("List Third visit method Run Time:" + (t2 -t1) + "(ms)");
}
}
运行结果:
不是每次都是一样的,总体效率是:方式2 > 方式3 > 方式1