iterator
arraylist al=new arrayList();
iterator it=al.iterator();
it.hasNext();
arraylist()中的继承的哪个类实现了iterator接口?
------解决方案--------------------Collection
------解决方案--------------------不是Iterable吗?
------解决方案-------------------- public interface List <E> extends Collection <E> {
...
Iterator <E> iterator();
...
}
public class ArrayList <E> extends AbstractList <E>
implements List <E> , RandomAccess, Cloneable, java.io.Serializable
AbstractList是一个抽象基类,其中就定义了
public Iterator <E> iterator() {
return new Itr();
....
这使用了设计模式中的Iterator设计模式,并对Iterator模式进行了一定的改动,抽象出了公共的抽象基类AbstractList,并在其中实现了iterator() ,所以所有继承了 AbstractList的类都具有了该iterator方法。
楼主可以参考Iterator设计模式,以及java.util中的源代码。