/**
* 这个接口还是用来得到Iterator.不过是在内部产生自己的Iterator而不用再配套的使用。
* @author Administrator
*
*/
public interface Aggregate {
public Iterator createIteratot();
}
import java.util.Vector;
public class BookShelf implements Aggregate{
private VectorBook> books=new VectorBook>();
private int index;
@Override
public Iterator createIteratot() {
return new BookShelfIterator();
}
public void appendBook(Book book){
books.add(book);
}
public class BookShelfIterator implements Iterator{
public BookShelfIterator(){
index=0;
}
public Object Next() {
Book book=(Book)books.get(index);
System.out.println("index:"+index);
index++;
return book;
}
@Override
public boolean hasNext() {
if(index>=books.size())
return false;
else
return true;
}