为什么使用此接口?
因为它支持允许客户端程序员迭代任何种类的集合的基本 *** 作(注意:
Collection从
Object某种意义上讲不一定是a )。
为什么方法…没有直接编码为数据结构实现本身?
它们是,它们只是被标记为私人,因此您无法进入它们并与它们混为一谈。进一步来说:
- 您可以实现或将其子类化
Iterator
,以使其执行标准对象不执行的 *** 作,而不必更改迭代的实际对象。 - 可以遍历的对象不需要使用遍历方法(尤其是任何高度专业化的方法)来弄乱它们的接口。
- 您可以将自己
Iterators
想要的任何客户分发给每个客户,每个客户可以在自己的时间内以自己的速度穿越。 Iterators
如果在尚不可用的情况下修改了支持它们的存储,则特别是java.util包中的Java 将引发异常Iterator
。此异常使您知道Iterator
可能现在正在返回无效对象。
对于简单的程序,这似乎都不值得。但是,使它们有用的那种复杂性很快就会浮现出来。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)