foreach迭代对像与Iterator迭代器对像

package com;

import java.util.ArrayList;  
import java.util.Iterator;
import java.util.List;  
  
class Peop {  
  
    private String name;  
  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
}  
  
  
public class Hello {  
  
    public static void main(String agr[]) {  
        Peop p = new Peop();  
        p.setName("yangxin");  
        Peop p2 = new Peop();  
        p2.setName("zhuxiaofei");  
        
        //把2个对象实例放入ArrayList容器中。
        List<Peop> list = new ArrayList<Peop>();  
        list.add(p);  
        list.add(p2); 
        
        
        //开始使用foreach循环打印,for (Peop x : list) ,这条语句定义了一个Peop对象的实例x,继而将每一个list元素赋值给x。
        for (Peop x : list) {  
            System.out.println(x.getName());  
        }
        
        
        System.out.println();
        
        
        //开始使用Iterator迭代器开始打印
        Iterator<Peop> iter = list.iterator();
           //使用Iterator接口中的hasNext()判断iter是否有值
           while(iter.hasNext()){
           //用Iterator接口中的next()方法取出iter里的下一个值
           Peop str = (Peop)iter.next();
           System.out.println(str.getName());
         }

    }  
}  



输出:

yangxin
zhuxiaofei

yangxin
zhuxiaofei


这里看见了,使用foreach比使用Iterator迭代器简单,方便许多,但是使用foreach跟使用Iterator迭代器有很明显的略势,foreach在迭代时很难进行对容器的操作,所以一般用于打印(显示),而Iterator迭代器可以方便的操作容器内的元素。



你可能感兴趣的:(java)