java iterator循环遍历集合(比如HashSet)的原理

2024-12-17 08:23:57
推荐回答(3个)
回答1:

Iterator it = set.iterator() 这时得到一个迭代器,它的指针位于第一个元素之前。
然后我们不停地 hasNext() 再 next 得到值,当hasNext 为 false 时当然就不能去 next 了。

这背后的位置索引是在迭代器内部记录着的,我们不能直接改它的值,只能 next 去下一个。
不过像 ListIterator 则是双向的,可以 previous。递增递减都是由 next / previous 方法来操作的。

回答2:

如果你用的是eclipse,按住ctrl键,鼠标左键点next()方法就能看到了,然后关联JDK源码就可以了

回答3:

it相当于是个指针,每次.next()都向下拨打。所以依次输出