方法iterator()在java.util.Collection和java.lang.Iterable中声明,它的超级接口?

有人可以向我解释为什么方法Iterator iterator();java.util.Collection定义? 集合已经扩展了java.lang.Iterable ; 这种方法是多余的。 这是为了方便吗?

Collection接口是在Java 1.2中使用Collections API引入的。 然后存在iterator方法。 但是,直到Java 1.5才引入Iterable接口 。 Collection显式定义iterator的原因是因为它早于IterableCollection返回Iterator的想法早于Iterable的想法。