package myList;
public class MyIterator {
private Object aData;
private int i=0;
private int l=0;
MyLinkedList.Node node;
public MyIterator(Object aDate){
this.aData=aDate;
}
public boolean hasNext(){
if(aData instanceof MyArrayList){//MyArrayList��Iterator
Object[] arr=((MyArrayList) aData).getArr();
int a=((MyArrayList)aData).size();
return a>i;
}
else{//MyLinkedList��Iterator
node=((MyLinkedList)aData).getHeadNode();//���ͷ�ڵ�
int a=((MyLinkedList)aData).size();
return a>l;
}
}
public Object next(){
if(aData instanceof MyArrayList){//MyArrayList��Iterator
Object[] arr=((MyArrayList) aData).getArr();
return arr[++i];
}
else{//MyLinkedList��Iterator
l++;
return node.getDate();
}
}
}