for与foreach区别

Posted huih

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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循环更为灵活。

以上是关于for与foreach区别的主要内容,如果未能解决你的问题,请参考以下文章

for 与 foreach 的区别

js forEach参数详解,forEach与for循环区别,forEach中如何删除数组元素

for循环与forEach循环的区别

foreach与for的区别

for循环与foreach的区别

竟然有一半的人不知道 for 与 foreach 的区别???