从JDK1.5起,增加了新功能Foreach,它是for循环遍历数据的一种简写形式,使用的关键字依然是for,但参数格式不同。其详细用法为:
1
2
|
for (Type e:collection){ //对变量e的使用} |
参数说明:
e:其类型Type是集合或数组中元素值的类型,该参数是集合或数组collection中的一个元素。
collections: 要遍历的集合或数组,也可以是迭代器。
在循环体中使用参数e,该参数是foreach从集合或数组以及迭代器中取得的元素值,元素值是从头到尾进行遍历的。
具体例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
//必须导入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循环。