内部クラスをイテレータとして使用するテキストブックでは、というメソッドはちょうどを返します。current
はcurrent index
です。しかし、サイズが3でインデックスが2の場合は、次の値はありません。理由はありません。< size - 1
Javaの内部クラスにhasNextメソッドを埋め込む
0
A
答えて
1
あなたが参照しているイテレーターの実装がわかりませんが、以下のようなものです:
public boolean hasNext() {
return cursor != size; //cursor is the index of next element to be fetched
}
だから、あなたは私を参照している実装はcurrent
が実際に次のフェッチする要素を指し、と信じています。
Size : 3
current : 2
condition: 2<3(true) returns true and next() gets you the list.get(current)
Size:3
current :3
Condition : 3<3(fail) you don't have anymore element to iterate as you reached to the end.
0
おそらくそれはまだインデックスcurrent
で値を与えられていないので:
はあなたの例を取ることができます。 hasNext
関数は、Iteratorから出てくるものが残っているかどうかを伝えます。たとえば、あなたがこのような何かをするだろうイテレータのすべての内容を印刷したい場合:
public boolean hasNext() {
return current < this.size;
}
public T next() {
return this.array[current];
current++;
}
1
によって異なります。機能hasNext
とnext
のようなもののように定義されるだろう
while (iterator.hasNext()) {
System.out.print(iterator.next());
}
あなたはnext
の方法でやっていることに。 ArrayList.Itrのコードを確認してください。ここでは説明したシナリオを実施する1つの方法は、(これは実装をArrayList.Itrに似ている)である、
current
は当初next
が呼び出されると、current
の現在の値が変数に保存されている0- を指し、例えば、
i
。current
がインクリメントされます。 - インデックス
i
の値が返されます。
上記の場合、current
の値が3の場合、これ以上の要素はありません。論理は正しい。イテレータは、current<size
の長さの要素を持ちます。
関連する問題
- 1. パスワードを内部コンソールアプリケーションに埋め込む
- 2. Javaアプレットを埋め込む
- 3. マイページにhtmlクラスを埋め込む
- 4. Pythonでiframeの内部にフォームを埋め込む方法
- 5. ビデオをJavaアプリケーションに埋め込む?
- 6. FirefoxをJavaに埋め込む
- 7. Java GUIにExcelを埋め込む
- 8. Javaアプレットを.htmlファイルに埋め込む
- 9. ウェブサイトにJavaアプレットを埋め込む
- 10. AndroidでPythonをJavaに埋め込む
- 11. グリッドレイアウトをJavaのボーダーレイアウト内に埋め込む方法
- 12. Vaadinポートレット内にテーマを埋め込む
- 13. WPFウィンドウ内にアプリケーションを埋め込む
- 14. クラスライブラリ内にバイナリファイルを埋め込む
- 15. スマートURLをアプリケーション内に埋め込む
- 16. ボタン内にイメージオブジェクトを埋め込む
- 17. C++アプリケーション内にデータを埋め込む
- 18. Pythonスクリプト内にプログラムを埋め込む
- 19. QWebEngineViewプロセスをQTabWidget内に埋め込む
- 20. Gallery内にリストビューを埋め込む
- 21. WebView内にカスタムビューを埋め込む
- 22. ScrollViewer内にItemsControlを埋め込む
- 23. anglejsアプリ内にウェブサイトを埋め込む
- 24. bokehアプリケーション内にiframeを埋め込む
- 25. カスタムビュー内にRecyclerViewを埋め込む
- 26. C#ポリゴンの内側に埋め込む
- 27. 埋め込みCSSファイルを複数部分のMIMEメールに埋め込む
- 28. 外部xmlファイルをspring boot埋め込みTomcatに埋め込む方法
- 29. JavaでLuaJITを埋め込む
- 30. URLデータでJavaアプレットを埋め込む
長さが1の配列がある場合、有効なインデックスは1つだけです(それは '1'ではありません)。 –