A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许慎誉 中级黑马   /  2015-2-10 21:17  /  1205 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么Itertor不定义成一个类,而是一个接口?

3 个回复

倒序浏览
本帖最后由 wf111sxwf 于 2015-2-10 22:43 编辑

每个集合容器的内部数据结构式不同的,所以你没办法去定义一个 实现方法去迭代所有数据结构的集合,但是迭代动作都是一样的  也就是 hasNext 和 next 所以就将 Iterator 定义成一个接口,由其子类去根据容器本身的数据结构特点 去实现方法,迭代器是一个内部类,所以 他所属的容器是什么数据结构 它很清楚,那么 对元素进行迭代 也就方便很多。  迭代器设计模式可以看一看
回复 使用道具 举报
因为集合的数据结构是不同的!
回复 使用道具 举报
大嘴  的 奥巴马  正解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马