foreach

作者: 何治国 | 来源:发表于2021-05-29 14:06 被阅读0次

foreach语句是Java5的新特征之一,在遍历数组,集合方面,foreach为开发人员提供了极大的方便。

需要注意的是,foreach语句是for语句的特殊简化版,但是foreach语句并不是完全取代for语句,然而,任何的foreach语句都可以转化为for语句。

foreach的语句格式:

for(元素类型t 元素变量x : 遍历对象obj){

引用了x的java语句;

}

一:foreach简化数组遍历:

public void test1() { 

    //定义并初始化一个数组 

    int arr[] = {2, 3, 1}; 

    System.out.println("----1----排序前的一维数组"); 

    for (int x : arr) { 

        System.out.println(x); //逐个输出数组元素的值 

    } 

    //对数组排序 

    Arrays.sort(arr); 

    //利用java新特性for each循环输出数组 

    System.out.println("----1----排序后的一维数组"); 

    for (int x : arr) { 

        System.out.println(x); //逐个输出数组元素的值 

    } 

类似的foreach还阔以对二维数组,三维数组进行遍历。

一:foreach简化集合遍历:

public void listToArray() { 

    //创建List并添加元素 

    List<String> list = new ArrayList<String>(); 

    list.add("1"); 

    list.add("3"); 

    list.add("4"); 

    //利用froeach语句输出集合元素 

    System.out.println("----2----froeach语句输出集合元素"); 

    for (String x : list) { 

        System.out.println(x); 

    } 

    //将ArrayList转换为数组 

    Object s[] = list.toArray(); 

    //利用froeach语句输出集合元素 

    System.out.println("----2----froeach语句输出集合转换而来的数组元素"); 

    for (Object x : s) { 

        System.out.println(x.toString()); //逐个输出数组元素的值 

    } 

三:foreach语句的局限性:

通过上面的例子可以发现,如果要引用数组或者集合的索引,则foreach语句无法做到,foreach仅仅老老实实地遍历数组或者集合一遍。

四:总结:

foreach语句是for语句的特殊情况下的增强版本,简化了编程,提高了代码的可读性和安全性(这时候就可以不用担心数组越界的问题)。相对于for语句来说是一个很好地补充,提倡在能使用foreach的地方尽量使用foreach不要再使用for。在使用到索引的地方,foreach显得力不从心,这个时候是使用for语句的时候。

相关文章

网友评论

      本文标题:foreach

      本文链接:https://www.haomeiwen.com/subject/acopsltx.html