首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

iterator解决办法

2011-12-31 
iteratorarraylistalnewarrayList()iteratorital.iterator()it.hasNext()arraylist()中的继承的哪个

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


热点排行