package com.example.test3;
import java.util.Arrays;
import java.util.Iterator;
/**
*
* AbstractList迭代器的设计
*
* 1.AbstractList实现Iterable接口,重写iterator方法,返回实现了Iteraotor接口的自定义类,
* 在自定义类中重写hasNext(),next(),remove()方法。
*
* 2.AbstractList不管实现它的类具体是什么样的数据结构,只需知道其数据大小以及得到对应位置
* 元素的方法便可对其进行遍历。
*
*/
abstract class AbstractList<T> implements Iterable<T>{
public abstract T get(int index);
public abstract int size();
public abstract void add(T value);
public Iterator<T> iterator(){
return new MyIterator();
}
class MyIterator implements Iterator<T>{
int index;
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
return index < size();
}
@Override
public T next() {
// TODO Auto-generated method stub
T value = (T) get(index);
index++;
return value;
}
@Override
public void remove() {
// TODO