Iterator
繰り返し
コトリン公式文書
collection要素を巡回する場合、Kotlin標準libraryは反復メカニズムです.要素に順次アクセスできるオブジェクトを表します(リストやarrayなどを知る必要はありません).サポートされています.
Identratorは、コレクション内のすべての要素を個別に処理する場合に便利です.(ex)すべての要素を印刷するか、類似の更新を行います.)
I歪曲器()関数は、SetおよびListを含むIterableインタフェースの継承者のためにI歪曲器を取得するために呼び出すことができる.
反復器を取得すると、collectionの最初の要素を指します.next()関数は最初の要素を返し、次の要素が存在する場合は次の要素に移動します.
反復器が最後の要素に達すると、要素を取得するために使用できなくなります.前の要素に戻ることはできません.collectionを再巡回する場合は、新しいフィルタを作成する必要があります.
ソリューション:hasNext()
ポイントに指示値(次のステップでnext()に戻る値)があるかどうか(o)
hasNext()は次の値(x)を指す
説明に使えばいいです.
ex)next()は3を返し、積分が4に移ると、
hasNext()をpointの次の値として解釈するとfalse、whileは文に入らない(私はそう思っていたので間違えた)
pointが指す値(次はnext()の値を返す)で説明すると、next()は4を返し、trueとなり、while文で4を返します.
コトリン公式文書
collection要素を巡回する場合、Kotlin標準libraryは反復メカニズムです.要素に順次アクセスできるオブジェクトを表します(リストやarrayなどを知る必要はありません).サポートされています.
Identratorは、コレクション内のすべての要素を個別に処理する場合に便利です.(ex)すべての要素を印刷するか、類似の更新を行います.)
I歪曲器()関数は、SetおよびListを含むIterableインタフェースの継承者のためにI歪曲器を取得するために呼び出すことができる.
反復器を取得すると、collectionの最初の要素を指します.next()関数は最初の要素を返し、次の要素が存在する場合は次の要素に移動します.
反復器が最後の要素に達すると、要素を取得するために使用できなくなります.前の要素に戻ることはできません.collectionを再巡回する場合は、新しいフィルタを作成する必要があります.
val numbers = listOf("one", "two", "three", "four")
val numbersIterator = numbers.iterator()
while (numbersIterator.hasNext()) {
println(numbersIterator.next())
}
>>>
one
two
three
four
紛らわしい点:最後の要素(four)には後値がなく、hasNext()はfalseであるべきで、どのようにwhileドアに入って運行するか知りたいです.ソリューション:hasNext()
ポイントに指示値(次のステップでnext()に戻る値)があるかどうか(o)
hasNext()は次の値(x)を指す
説明に使えばいいです.
ex)next()は3を返し、積分が4に移ると、
hasNext()をpointの次の値として解釈するとfalse、whileは文に入らない(私はそう思っていたので間違えた)
pointが指す値(次はnext()の値を返す)で説明すると、next()は4を返し、trueとなり、while文で4を返します.
Reference
この問題について(Iterator), 我々は、より多くの情報をここで見つけました https://velog.io/@nagosooo/Iteratorテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol