为什么Java集合框架要用内部类迭代器的设计来实现读取操作?

所有集合框架,都是实现Collection接口,Collecton接口中定义了一个获取迭代器的方法,collection.iterator();
每个具体实现Collection的集合类,都需要用内部类来实现迭代器,在迭代器中实现操作数据的方法。

可是为什么不能直接在Collection接口中定义操作数据的方法,而每个子类实现方法。这样不是比设计内部类更简洁吗?

阅读 3.8k
1 个回答

先声明:

  • Map没实现Collection接口

  • Collection表示这是一个集合,即定义了集合的接口

  • Iterator则是遍历集合的接口

回答:

为了降低耦合。Iterator也是要作为组件去复用的,而不仅仅是Collection接口中使用了它。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题