Java のイテレータの動作について質問があります。
次のような電話があります。
myIterable.iterator().hasNext()
この呼び出しが true を返す場合、コレクションに少なくとも 2 つの要素があることを確認できますか? Java API 仕様から、 true は で到達できる要素がもう 1 つあることを意味することしかわかりませんでしたnext()
。しかし、ポインターが一番最初にある場合はどうなりますか (hasNext()
が最初の要素を個別に認識できるかどうかを意味します)。
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html
反復にさらに要素がある場合は true になります。しかし、より多くの要素も最初の要素を意味する可能性がありますか?
[編集]
イテレータが反復する要素を正確に 2 つ持っているかどうかを知るにはどうすればよいですか? もちろん、繰り返してカウントすることはできますが、前に戻ったり、2 回繰り返したり、私の場合はイテレーターを複製したりすることはできません。これは Hadoop イテレーターです。