package cn.aust.zyw.demo; import java.util.Iterator; /** * Created by zyw on 2016/2/16. * Iterator模式是用于遍历集合类的标准访问方法。 * 它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构。 * Store类继承Iterable接口,利用自定义的hasNext(),next() * 输出数组a的元素。 */ public class TestIterable { public static void main(String args[]){ TestIterable testIterable=new TestIterable(); } TestIterable(){ Store store=new Store(); System.out.println("************"); for(String item:store){ System.out.print(item+" "); } // for(Iterator iter = store.iterator(); iter.hasNext();){ // System.out.print(iter.next()+" "); // } } } class Store implements Iterable<String>{ private String a[]={"apple","orange","pear","banana"}; @Override public Iterator<String> iterator() { return new Iterator<String>() { private int i=0; @Override public boolean hasNext() {//Returns true if the iteration has more elements if(i<a.length){ return true; } return false; } @Override public String next() {// Returns the next element in the iteration. return a[i++]; } }; } }