for與foreach區別


首先說一下for循環:

  格式:for( ; ; ){};

1 public static void main(String[] args) {
2         List<String> arr = new ArrayList<String>();
3         arr.add("你好");
4         arr.add("我好");
5         arr.add("大家好"); 
6         for(int i=0;i<arr.size();i++){
7             System.out.println(arr.get(i));    //要獲取list中元素需要用get方法    
8         }
9     }

接下來看一下foreach循環

  foreach也叫增強for循環,foreach的格式為:

    for(元素類型 元素 :遍歷數組(集合)){

      //語句

    }

1 public static void main(String[] args) {
2         List<String> arr = new ArrayList<String>();
3         arr.add("你好");
4         arr.add("我好");
5         arr.add("大家好");
6         for(String str : arr){                     //這里的str就是為了獲取每次循環的arr中的值
7                 System.out.println(str);               //就相當於 String str=arr[i]
8         }
9     }

總結:

  foreach不支持在循環中添加刪除操作,因為在使用foreach循環時數組就已經被鎖定不能修改,否則會報出java.util.ConcurrentModificationException異常。

  foreach適用於只是進行集合或數組遍歷,for則在復雜的循環中效果更高。

  foreach不能對數組或集合進行修改,如果想要修改就要使用for循環。

  所以相比較后for循環更為靈活。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM