iterator 和 iterable 有什么区别以及如何使用它们?

新手上路,请多包涵

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

原文由 Charles Cai 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 555
2 个回答

Iterable 是一系列可以迭代的元素的简单表示。它没有任何迭代状态,例如“当前元素”。相反,它有一种生成 Iterator 的方法。

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

通常,一个 Iterable 应该能够产生任意数量的有效 Iterator s。

原文由 ColinD 发布,翻译遵循 CC BY-SA 3.0 许可协议

Iterable 的一个实现是提供一个 Iterator 自身的实现:

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

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

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

请参阅 Javadoc

原文由 Keith Pinson 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题