增強for循環和iterator遍歷的效果是一樣的,也就說增強for循環的內部也就是調用iteratoer實現的,一般在集合中使用。但是增強for循環有些缺點,例如不能在增強循環裏動態的刪除集合內容。不能獲取下標等。
增強for循環語法: for (循環變量類型 循環變量名稱 : 要被遍歷的對象) {循環體}
/* 建立一個數組 */ int[] integers = {1, 2, 3, 4}; /* 開始遍歷 */ for (int i : integers) { System.out.println(i);/* 依次輸出“1”、“2”、“3”、“4” */ }
增強for循環與普通for循環對比
import java.io.*; import java.util.ArrayList; import java.util.List; public class FileTest { public static void main(String[] args) throws IOException{ List<Integer> list=new ArrayList<Integer>(); for(int i=0;i<=500000;i++){ list.add(1); list.add(2); list.add(4); list.add(5); list.add(2, 3); } int result=0; long start=System.currentTimeMillis(); for(int i=0;i<list.size();i++){ result=list.get(i); } System.out.println("普通循環使用了"+(System.currentTimeMillis()-start)+"毫秒"); start =System.currentTimeMillis(); for (int j:list){ result=list.get(j); } System.out.println("增強for循環使用了"+(System.currentTimeMillis()-start)+"毫秒"); } }
運行結果如下: