迭代器和可迭代器有什么区别以及如何使用它们?

2022-08-31 05:40:58

我是Java的新手,我对迭代器和可迭代感到非常困惑。任何人都可以向我解释并举一些例子吗?


答案 1

An 是一系列可以迭代的元素的简单表示形式。它没有任何迭代状态,例如“当前元素”。相反,它有一个生成 .IterableIterator

是具有迭代状态的对象。它允许您使用检查它是否具有更多元素,并使用 移动到下一个元素(如果有)。IteratorhasNext()next()

通常,应该能够生成任意数量的有效 s。IterableIterator


答案 2

的实现是提供自身的实现:IterableIterator

public interface Iterable<T>
{
    Iterator<T> iterator();
}

迭代器是一种简单的方法,允许某些人在没有分配权限的情况下遍历数据集合(尽管具有删除功能)。

public interface Iterator<E>
{
    boolean hasNext();
    E next();
    void remove();
}

请参阅 Javadoc