关于ArrayList中的iterator返回的事迭代器实例问题。
Posted lvzhengmao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于ArrayList中的iterator返回的事迭代器实例问题。相关的知识,希望对你有一定的参考价值。
Arraylist是一个具体的类,它并没有定义它自己的iterator()方法,,它只是从AbstractList 这个抽象类中继承了iterator()这个方法,而AbstractList 中的iterator()方法的定义是 public Iterator<E> iterator()
它的源代码是
public Iterator<E> iterator() {
return new Itr();
}
其中,Itr为AbstractList 这个抽象类中定义的 内部类,,它的定义为::
private class Itr implements Iterator<E>{...............}
那么List cats = new ArrayList( );
Iterator e = cats.iterator( );
则这个cats.iterator()生成的应该是Itr这个实现了Iterator接口的内部类的对象,,
因为父类的引用能够指向任何它的子类的对象,,所以上面那样写完全正确
以上是关于关于ArrayList中的iterator返回的事迭代器实例问题。的主要内容,如果未能解决你的问题,请参考以下文章
Java:list.listIterator() 返回的对象属于哪个类?
关于List的ConcurrentModificationException