java中for 与for each构造效率测试
java中for 与for each结构效率测试
java中for与for each效率对比
public class ForTest { public static void main(String[] args){ ArrayList<Integer> array=new ArrayList<Integer>(); for(int i=0;i<1000000;i++){ array.add(i); } long t1=new Date().getTime(); long size=array.size(); for(int i=0;i<size;i++){ System.out.println(array.get(i)); } long t2=new Date().getTime(); long t3=new Date().getTime(); for(Object i : array){ System.out.println(i); } long t4=new Date().getTime(); System.out.println("for: "+(t2-t1)); System.out.println("for each: "+(t4-t3)); } }
for: 12079
for each: 11750
for each 结构效率要高于for结构,这是因为for each执行循环的同时还执行了付值
若都只单做循环处理时:
for: long size=array.size(); for(int i=0;i<size;i++){ } for each: for(Object i : array){ }
for: 32
for each: 390
for的效率明显高于for each