迭代器上的 next() 方法如何工作?

How does next() method on iterators work?(迭代器上的 next() 方法如何工作?)
本文介绍了迭代器上的 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 wont 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() 方法如何工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Reliable implementation of PBKDF2-HMAC-SHA256 for JAVA(PBKDF2-HMAC-SHA256 for JAVA 的可靠实现)
Correct way to sign and verify signature using bouncycastle(使用 bouncycastle 签名和验证签名的正确方法)
Creating RSA Public Key From String(从字符串创建 RSA 公钥)
Why java.security.NoSuchProviderException No such provider: BC?(为什么 java.security.NoSuchProviderException 没有这样的提供者:BC?)
Generating X509 Certificate using Bouncy Castle Java(使用 Bouncy Castle Java 生成 X509 证书)
How can I get a PublicKey object from EC public key bytes?(如何从 EC 公钥字节中获取 PublicKey 对象?)