黑马程序员技术交流社区
标题:
关于迭代器的疑惑
[打印本页]
作者:
笑轻轻
时间:
2014-8-16 11:24
标题:
关于迭代器的疑惑
迭代器在视频教程中说被定义成集合中的内部类,但是也可以定义成外部类,但是定义成外部类要new 对象才能访问。我对这段比较疑惑,如果定义成外部类似乎也没有多大不妥吧。这样的设计具体有什么好处,谁可以详细的说明下谢谢
作者:
申航航
时间:
2014-8-16 11:39
迭代器定义在外部类是个接口,因为各集合容器的内部存储方式不同,所以各个容器在内部对迭代都有不同的实现。
作者:
wqmsan
时间:
2014-8-16 17:38
假设把迭代器迭代数据的功能定义成了一个类,会有这样的问题?不同的集合,由于数据结构不同,所以存储方式也不同,进而他们的获取方式也是不一样的。也就是说在迭代的时候,迭代的方式是不同的、。所以把它定义一个类是不合理的。
不管哪种集合,都有获取的功能,不知什么时候数据就没有了,所以也有判断功能,把这两个功能抽取出来,定义成接口,无论哪种集合在遍历的时候,只要实现迭代器接口即可。迭代器是以内部类的方式实现的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2