语法
for (对象对象名称: pre ArrayList (对象列表) )
样品
package com.kuaff.jdk5;
import java.util.*;
import java.util.Collection;
公共类基础
{
private collection c=空;
privatestring [ ] belle=new string [4];
公共公式() )。
{
belle[0]='西施';
belle[1]='王昭君';
belle[2]='貂禅';
belle[3]='sdsp ';
c=Arrays.aslist(Belle );
}
公共语音测试集合(
{
字符串3360 c ) )。
{
System.out.println (曾经的风化绝代:' b ) b );
}
}
公共语音测试(
{
字符串:蓝牙) )。
{
System.out.println (留名青史的:' b ) b );
}
}
publicstaticvoidmain (string [ ] args ) )。
{
Foreach each=new Foreach (;
each.testCollection (;
each.testArray (;
}
}
集合类型和数组类型都可以通过foreach语法进行访问。 在上面的示例中,以前按顺序访问数组,但很困难:
for(intI=0; i belle.length; I )
{
String b=belle[i];
System.out.println (曾经的风化绝代:' b ) b );
}
现在只需要以下简单的话就可以了。
字符串:蓝牙) )。
{
System.out.println (留名青史的:' b ) b );
}
对集合的访问效果更加明显。 以前我们访问了收藏的代码:
迭代器(it=c .迭代器); it.hasNext (; )
{
stringname=(string ) it.next );
System.out.println (曾经的风化绝代: ) name );
}
只有以下句子就可以了。
字符串3360 c ) )。
{
System.out.println (曾经的风化绝代:' b ) b );
}
Foreach也不是万能的,有以下缺点。
在以前的代码中,可以从迭代器执行remove操作。
迭代器(it=c .迭代器); it.hasNext (; )
{
itremove () )
}
但是,在当前的foreach版本中,无法删除集合中包含的对象。 你也改变不了对方。
同时,也不能并行构造foreach的多个集合。 所以,我们写代码的时候,必须要看情况使用它。