我对迭代器的方法有疑问next()。如果我的代码中有此行(arrayOfStrings大小 = 4):
Iterator<String> it = arrayOfStrings.iterator(); //arrayOfString is ArrayList<String>\n\nwhile(it.hasNext()) {\n String e = it.next();\n System.out.println(e);\n}\nRun Code Online (Sandbox Code Playgroud)\n\n在第一次迭代时,迭代器开始指向索引为 0 的元素?或者像“索引-1”?
\n\n我问这个问题是因为据我所知该next()方法返回集合中的下一个元素。
因此,如果在第一次迭代时,迭代器在next()调用时从索引 0 开始,它将返回索引 1 处的元素,并且我将\xc2\xb4t 无法对索引 0 处的元素执行任何操作?
我想象迭代器工作方式的方式是将其视为放置在索引之间的东西。因此,当调用第一个next()函数时,您可以返回存储在 [0] 索引下的值,在该调用之后,迭代器将在索引 [0] 和 [1] 之间等待下一次调用,以返回存储在索引 [1] 下的值。 。第二次next()调用后迭代器在 [1] 和 [2] 之间等待,依此类推......
这只是我习惯迭代器的方法,但它可能对您有所帮助。
| 归档时间: |
|
| 查看次数: |
22432 次 |
| 最近记录: |