什么是迭代器和集合?这两个有什么关系吗?
// 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());
}接口迭代器是单独预定义这些方法名,还是用户定义这些方法名?下面这四行到底说明了什么?
cars.add (new Car());
Iterator it = cats.iterator();
while (it.hasNext())
System.out.println ((Car)it.next());谢谢。我正在翻阅一本收藏的书。
发布于 2010-05-23 04:48:46
从技术上讲,迭代器和集合不是直接相关的。然而,迭代器通常与集合一起使用,以对集合中包含的对象进行交互。
迭代器是一个通用且灵活的概念,它允许在不依赖于它们所迭代的实体的确切实现的情况下交互对象。
发布于 2010-05-23 05:01:47
迭代器最常用作遍历集合元素的机制。
这个概念根本不是特定于Java的,尽管您展示的特定接口定义是特定的。
有关它的含义以及它是如何用各种语言实现的讨论,请参阅Wikipedia article on Iterator。
在Java中,它是一个接口,因此您确实可以实现自己的接口,但是对于Java的集合库中的集合和任何Java Collection实现方法,都定义了合理的接口
collection.iterator()应返回将遍历该集合的元素的迭代器。
另请参阅Collection和Iterator的javadoc以获取更多信息。
https://stackoverflow.com/questions/2889571
复制相似问题