• 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循环更为灵活。

  • 相关阅读:
    高级特性(7)- 高级AWT
    洛谷 P1948 [USACO08JAN]电话线Telephone Lines
    洛谷 P2015 二叉苹果树
    洛谷 P2014 选课
    洛谷 P1560 [USACO5.2]蜗牛的旅行Snail Trails(不明原因的scanf错误)
    cogs 10. 信号无错传输
    cogs 9. 中心台站建设。。。
    洛谷 P1731 生日蛋糕
    洛谷 P1092 虫食算
    洛谷 P1034 矩形覆盖
  • 原文地址:https://www.cnblogs.com/HuiH/p/11665536.html
Copyright © 2020-2023  润新知