Java中遍历数组使用foreach循环还是for循环?


从JDK1.5起,增加了新功能Foreach,它是for循环遍历数据的一种简写形式,使用的关键字依然是for,但参数格式不同。其详细用法为:

for(Type e:collection){ 
//对变量e的使用} 

参数说明:

e:其类型Type是集合或数组中元素值的类型,该参数是集合或数组collection中的一个元素。
collections: 要遍历的集合或数组,也可以是迭代器。

在循环体中使用参数e,该参数是foreach从集合或数组以及迭代器中取得的元素值,元素值是从头到尾进行遍历的。
具体例子:

//必须导入util下面的这两个包:ArrayList,List; 
import java.util.ArrayList; 
import java.util.List; 
public class Foreach { 
  public static void main(String[] arg){ 
    List<String> list = new ArrayList<String>(); //创建List集合 
    list.add("abc"); //初始化list集合 
    list.add("def"); 
    list.add("ghi"); 
    list.add("jkl"); 
    list.add("mno"); 
    list.add("pqr"); 
    System.out.print("Foreach遍历集合: \n\t");  
    for(String string:list){          //遍历List集合 
      System.out.print(string);        //输出集合的元素值 
    } 
    System.out.println(); 
    String[] strs = new String[list.size()];    
    list.toArray(strs);             //创建数组 
    System.out.println("Foreach遍历数组:\n\t"); 
    for(String string: strs){          //遍历数组 
      System.out.print(string);        //输出数组元素值 
    } 
  }  
} 

总结:

JDK之前的版本使用for循环对集合、数组和迭代器进行遍历,这需要创建索引变量、条件表达式,这些会造成代码混乱,并增加出错的几率。并且每次循环中,索引变量或迭代器都会出现3次,有两次出错的机会。并且会有一些性能方面的损失、其性能稍微落后于foreach循环。所以对于数据集合的遍历,建议使用Foreach循环。



相关阅读:
c#通过DES加密算法加密大文件的方法
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
Linux下touch命令有什么作用如何使用?
使用jQuery实现input数值增量和减量的方法
编写高性能Javascript代码的N条建议
XP/Win7系统电脑蓝屏提示2345port.sys错误的解决方法
不是Win10.1 微软正准备10月Win10 RTM预览版TH2更新
javascript实现的弹出层背景置灰-模拟(easyui dialog)
sql server中判断表或临时表是否存在的方法
Linux下tar命令的简单使用及相关错误解决方法
Nodejs中session的简单使用及通过session实现身份验证的方法
浅谈JavaScript对象与继承
使用mysqldump导入数据和mysqldump增量备份(mysqldump使用方法)
超赞的动手创建JavaScript框架的详细教程
快速导航

Copyright © 2016 phpStudy |