迭代器上的next()方法如何工作? [英] How does next() method on iterators work?

查看:114
本文介绍了迭代器上的next()方法如何工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对迭代器上的next()方法有疑问.如果我的代码包含以下内容(arrayOfStrings size = 4),则此行:

I have a doubt with the next() method on iterators. If I have as a part of my code this lines (with arrayOfStrings size = 4):

Iterator<String> it = arrayOfStrings.iterator(); //arrayOfString is ArrayList<String>

while(it.hasNext()) {
    String e = it.next();
    System.out.println(e);
}

在第一次迭代中,迭代器开始指向索引为0的元素?还是喜欢索引-1"?

At the very first iteration, the iterator starts pointing to element with index 0? or like the "index -1" ?

我问是因为据我所知,next()方法返回集合中的下一个元素.

I ask because as far as I know the next() method returns the next element in the collection.

因此,如果在第一次迭代中调用next()时迭代器从索引0开始,它将返回索引1的元素,而我将无法对索引0的元素做任何事情?

So, if at the very first iteration the iterator starts at index 0 when next() is invoked, it returns the element at index 1 and I won´t be able to do nothing with the element at index 0?

推荐答案

next视为两步过程.首先,它获得迭代器中的下一个项目,然后递增指针以指向下一个项目.因此,当您创建一个新的迭代器时,它会初始化为返回列表中的第一项(索引0).

Think of next as a two-step process. First it gets the next item in the iterator, then it increments the pointer to point to the next item. So, when you create a new iterator, it is initialized to return the first item (index 0) in your list.

这篇关于迭代器上的next()方法如何工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆