Это зависит от того, что вы хотите сделать с итератором.
Kotlin имеет Sequence
с, что эквивалентно Java 8 Stream
с, что означает, что они ленивые : они просто предоставляют элементы при итерации (используя любую терминальную операцию, такую как sum
или count
, также считается итерацией).
Так что, если вы ищете лень, то go для последовательностей .
Чтобы создать последовательность из списка, вы можете использовать asSequence()
:
val list = listOf(1, 2, 3)
val seq = list.asSequence().map { it * 2 }
// nothing happens as long as the sequence is not iterated upon
val result = coldSeq.toList() // now things are computed and added to a list
Вы также можете напрямую создать последовательность с помощью sequenceOf
.
Если ваша цель на самом деле получить Java Iterator
, вы можете получить один из последовательности, используя .iterator()
.