Iterator


繰り返し
コトリン公式文書
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を返します.