如何用Java实现迭代器?

use*_*245 4 java iterator

在集合上打开迭代器的实例是否将整个集合保留在内存中并访问每次调用next()时递增的位置?或者我错过了什么?

cle*_*tus 10

实现Iterator取决于Collection它迭代的特定.如果你看一下JDK的源代码,ArrayListLinkedList例如使用不同的迭代器.

记住Iterator是一个接口而不是一个具体的类,所以它只是指定一个契约而不是一个实现.

一般来说,迭代器将(取决于实现)存储对集合的引用和某种索引以标记它们的位置.