java Foreach好还是for()语句好?Foreach循环及For性能及使用上的比较。Foreach语句从什么时候开始有的?JDK1.5起,增加了Foreach语句新功能,Foreach是for循环遍历数据的一种简写形式,关键字依然是for,但参数与格式不同。Foreach其详细用法为:
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); //输出数组元素值
}
}
}
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); //输出数组元素值
}
}
}
JDK1.5前的版本使用for循环对集合、数组和迭代器进行遍历,要创建索引变量和条件表达式,有可能会造成代码混乱,并增加出错的几率。每次循环中,索引变量或迭代器都会出现3次,两次出错的可能。并会有一些性能方面的损失、其性能稍微落后于foreach循环。因此对于数据集合的遍历,建议使用Foreach循环。