现在Collection接口有一个迭代器接口,集合接口是由Abstract list,Abstract set等实现的,但是谁实现了Iterator接口?
答案 0 :(得分:0)
有许多类为迭代器提供实现。 Javadoc有关于它的信息。
答案 1 :(得分:0)
所有已知的实施类:
BeanContextSupport.BCSIterator, EventReaderDelegate, Scanner
注意:始终使用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
实现。
这个实施不能在另一个类中实现,因为它是私有! (请注意,这不是唯一的情况。)