什么是迭代器和集合? 这两者有什么关系吗?
// 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());
}
接口(interface)迭代器是否单独预定义了这些方法名称,还是由用户定义的? 下面这四行实际上说明了什么?
cars.add (new Car());
Iterator it = cats.iterator();
while (it.hasNext())
System.out.println ((Car)it.next());
谢谢。我正在浏览一本 Collection 的书。
最佳答案
顾名思义,Java 集合是事物的集合。如果您不认识该词,请查字典。
集合有很多种类型。以集合的数学概念为例。您可以将任意事物放入一个集合中,但它永远不会多次包含相同的事物。集合中的事物没有顺序,也就是说你不能说A在B之前。另一种类型的集合是列表。一个列表可以多次包含相同的内容,列表中内容的顺序很重要。
所有这些集合的共同点是它们都包含一些东西,这些东西在 Java 中称为元素。当您想知道某个集合中有哪些内容时,您可以迭代该集合,这只是遍历所有元素的另一个术语。这就是Iterator
的作用。它基本上从集合的开头开始,您可以随时询问是否有下一个元素(hasNext()
),如果有,您可以访问该元素(next ()
),直到迭代完集合中的所有元素。
关于java - Java 中的迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2889571/