java - 为什么java.util.Collection不直接定义next(), hasNext()?

标签 java collections iterator

如果 Collection 定义了 hasNext() 而不是 iterator().hasNext(),我们可以更轻松地编写循环:

while(collection.hasNext()){…}

代替:

Iterator it= collection.iterator();
While(it.hasNext()){…}

当然,我知道存在循环 for(E e:collection) 的简单方法。

为什么接口(interface) Iterator 存在?

最佳答案

因为对于同一个 Collection 对象,您可以同时拥有多个有效的 Iterator 对象。

这很有用。如果 Collection 定义了 nexthasNext 方法,则此方法将被排除。

关于java - 为什么java.util.Collection不直接定义next(), hasNext()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3623434/

相关文章:

java - PlaceAutoCompleteFragment setHint NPE

java - 两遍JSP页面渲染

java - Java Set 没有随机访问方法

Java 将 Int 数组转换为 SortedSet

java - Spring formBackingObject、业务对象创建和工厂

java - 如何将字符串解析回 map 列表

java - 键值对的排序

c++ - 错误 C2440 : 'initializing' : cannot convert from 'std::_Vector_iterator<_Ty,_Alloc>' to 'type *'

scala - 在函数调用的值上创建一个迭代器

python - 关于迭代我做错了什么