首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的迭代器

Java中的迭代器
EN

Stack Overflow用户
提问于 2010-05-23 03:59:38
回答 2查看 14K关注 0票数 2

什么是迭代器和集合?这两个有什么关系吗?

代码语言:javascript
复制
// the interface definition
Interface Iterator {
    boolean hasNext();
    Object next(); // note "one-way" traffic
    void remove();
}

// an example
public static void main (String[] args){
    ArrayList cars = new ArrayList();

    for (int i = 0; i < 12; i++)
        cars.add (new Car());

    Iterator it = cats.iterator();

    while (it.hasNext())
        System.out.println ((Car)it.next());
}

接口迭代器是单独预定义这些方法名,还是用户定义这些方法名?下面这四行到底说明了什么?

代码语言:javascript
复制
cars.add (new Car());
Iterator it = cats.iterator();
while (it.hasNext())
    System.out.println ((Car)it.next());

谢谢。我正在翻阅一本收藏的书。

EN

回答 2

Stack Overflow用户

发布于 2010-05-23 04:48:46

从技术上讲,迭代器和集合不是直接相关的。然而,迭代器通常与集合一起使用,以对集合中包含的对象进行交互。

迭代器是一个通用且灵活的概念,它允许在不依赖于它们所迭代的实体的确切实现的情况下交互对象。

票数 1
EN

Stack Overflow用户

发布于 2010-05-23 05:01:47

迭代器最常用作遍历集合元素的机制。

这个概念根本不是特定于Java的,尽管您展示的特定接口定义是特定的。

有关它的含义以及它是如何用各种语言实现的讨论,请参阅Wikipedia article on Iterator

在Java中,它是一个接口,因此您确实可以实现自己的接口,但是对于Java的集合库中的集合和任何Java Collection实现方法,都定义了合理的接口

代码语言:javascript
复制
collection.iterator()

应返回将遍历该集合的元素的迭代器。

另请参阅CollectionIterator的javadoc以获取更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2889571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档