在API中定义了一个Iterator接口,实现了该接口的类就可以使用迭代器进行遍历,那么单独定义这么一个接口有什么好处?
把在Iterator接口中定义的方法移到Collection接口中,让子类去实现,在子类中不是也可以利用这些方法进行遍历吗?

解决方案 »

  1.   

    楼主说的单独使用Iterator接口在程序编译上其实没什么用,大部分用法都是子类直接调用它的方法,其实会用就行了,没必要深究
      

  2.   

    我的理解是,你如果让Collection的子类去实现,就降低了耦合度,本来设计成Iterator it=Collection.iterator();这里Collection是所有集合类的接口,List和Set都能用,你如果换成在List和Set里面分别实现Iterator里面的方法不变麻烦了吗