//使用
MyList myList = new MyList();
myList.addList(1);
myList.addList(2);
myList.addList(4);
myList.addList(3);
MyIterator myIterator = myList.myIterator();
while(myIterator.hasNext()){
System.out.println(myIterator.next());
}
//-----------------------------------
interface MyIterator{
boolean hasNext();
Object next();
}
interface MyIterater{
MyIterator myIterator();
}
class MyList implements MyIterater{
private ArrayList list = new ArrayList();
public void addList(Object obj){
list.add(obj);
}
private class IteratorList implements MyIterator{
private int position = 0;
@Override
public boolean hasNext() {
return position < list.size();
}
@Override
public Object next() {
return list.get(position++);
}
}
@Override
public MyIterator myIterator() {
// TODO Auto-generated method stub
return new IteratorList();
}
}
ArrayList源码:
Itr里多了一些条件判断