.增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件),但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。
普通for循环与增强for循环的优缺点:
普通for循环的有点事变量可控,操作起来方便只管,缺点是较为繁琐。
增强for循环的有点事代码较为简洁,缺点是过于简洁,不便于对其遍历的元素进行复杂的操作。
一般的,仅仅是遍历所有元素,选用增强for循环,如果需要对便利出来的元素进行一些较为复杂得操作,选用普通的for循环。
iterator迭代器只有collection的子接口或实现类才会有,而map不能直接调用iterator迭代器,可以将要迭代出来的值取出存放到collection集合或者set集合中,
public static void main(String[] args){
/*int[] i=new int[]{2,5,45,67,4,8,34,78};
for(int a=0;a<i.length;a++){
//System.out.println(i[a]);
public class lianxi {
public static void main(String[] args){
/*int[] i=new int[]{2,5,45,67,4,8,34,78};
for(int a=0;a<i.length;a++){
//System.out.println(i[a]);
}
for(int a:i){
System.out.println(a);
}*/
Collection coll=new ArrayList();
String str="abcd";
for(int i=0;i<5;i++){
coll.add(str+i);} Iterator<Integer> ite=coll.iterator();
while(ite.hasNext()){
System.out.println(ite.next()); }
map用迭代器迭代
Map<Integer,Object> m=new HashMap<Integer,Object>();
String strt="adfgde";
for(int l=0;l<10;l++){
m.put(l, strt+l);
}
Collection coll=m.values();
Iterator itere=coll.iterator();
while(itere.hasNext()){
System.out.println(itere.next());
}