本帖最后由 x378320002 于 2013-5-24 08:38 编辑
最近学习集合框架中遇到一个疑问,集合内的对象往外去的时候是用迭代器,
大致过程我理解的是:
1,集合对象调用collection接口内的迭代器功能
2,该功能返回一个迭代器接口类型的对象
3,由该迭代器对象再调用集合内的next取出功能,完成取出
因为集合对象内的next功能复写了迭代器接口内的next功能
我不懂的是为什么要间接的 先用collection接口调出迭代器,再用迭代器调用next呢,
为什么不能把next等功能放在collection接口内,由collection接口调用next功能呢,
我看了源码,知道集合内的迭代器其实就是个内部类,如果不写内部类,直接把next功能定义在
集合内,由collection接口调用,我发现也行啊,求解释,用迭代器有什么优势或者好处? |