foreach

作者: 何治国 | 来源:发表于2021-05-15 10:12 被阅读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/xqiljltx.html