谁实现了Iterator接口

时间:2014-03-18 10:20:33

标签: java collections

现在Collection接口有一个迭代器接口,集合接口是由Abstract list,Abstract set等实现的,但是谁实现了Iterator接口?

5 个答案:

答案 0 :(得分:0)

有许多类为迭代器提供实现。 Javadoc有关于它的信息。

enter image description here

答案 1 :(得分:0)

所有已知的实施类:

BeanContextSupport.BCSIterator, EventReaderDelegate, Scanner

来源:Iterator Interface

  

注意:始终使用JavaDocs获取有关所有Java类的信息。

答案 2 :(得分:0)

AbstractSet和AbstractList是抽象类。它们不一定要实现各自接口中存在的所有方法。

Iterator由具体的类实现,如ArrayList,Vector,LinkedList,HashSet,TreeSet,因为顺序和迭代器的完成方式取决于具体的类类型。

答案 3 :(得分:0)

任何实现Iterator接口的类或任何实现Iterator接口的接口都将为Iterator接口中的所有方法提供实现,除非它被标记为{{1 } .class。没有规则abstract类不应该提供实现。他们也可以..

以下是抽象类的示例代码,它不一定需要在Iterator接口中实现这些方法。但是,他们也可以..

abstract

以下是普通类,它应该强制实现Iterator接口中的方法

 abstract  class TestAbstractIterator implements Iterator<String>{

  }

示例: class TestIterator implements Iterator<String>{ @Override public boolean hasNext() { // TODO Auto-generated method stub return false; } @Override public String next() { // TODO Auto-generated method stub return null; } @Override public void remove() { // TODO Auto-generated method stub } } java.util.Scanner具体实现的最佳示例之一。它实现了Iterator

希望它澄清!

答案 4 :(得分:0)

正如已经写好的,有成千上万的实现。

你举了AbstractList作为Collection的实现的例子(这有点不完整,因为它仍然是抽象的,并没有完全实现接口),如果你看一下src.zip,你会发现它使用了自己的Iterator实现。

这个实施不能在另一个类中实现,因为它是私有! (请注意,这不是唯一的情况。)