读书人

iterator解决办法

发布时间: 2011-12-31 23:50:30 作者: rapoo

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中的源代码。


读书人网 >J2SE开发

热点推荐