我的Java版本是“ 1.8.0_192”
/**
* Returns an iterator over the elements in this collection. There are no
* guarantees concerning the order in which the elements are returned
* (unless this collection is an instance of some class that provides a
* guarantee).
*
* @return an <tt>Iterator</tt> over the elements in this collection
*/
Iterator<E> iterator();
这是“收藏”界面。
/**
* Returns an iterator over elements of type {@code T}.
*
* @return an Iterator.
*/
Iterator<T> iterator();
这是Iterable接口。
答案 0 :(得分:0)
实际上没有理由同时拥有两者。如果您查看Collection
的{{1}}部分,您会看到它是在1.2中添加的,而Iterable
是在1.5中添加的,因此它似乎是“历史性的”。
我们将不得不问实际的作者为什么没有删除多余的声明。话虽如此,两个地方都没有负面影响。
不,在两者上都使用iterator
方法没有特殊意义。