asSequence

Common
JVM
JS
Native
1.0
fun <T> Sequence<T>.asSequence(): Sequence<T>
(source)

Returns this sequence as a Sequence.

Common
JVM
JS
Native
1.0
fun <T> Iterator<T>.asSequence(): Sequence<T>
(source)

Creates a sequence that returns all elements from this iterator. The sequence is constrained to be iterated only once.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val array = arrayOf(1, 2, 3)

// create a sequence with a function, returning an iterator
val sequence1 = Sequence { array.iterator() }
println(sequence1.joinToString()) // 1, 2, 3
println(sequence1.drop(1).joinToString()) // 2, 3

// create a sequence from an existing iterator
// can be iterated only once
val sequence2 = array.iterator().asSequence()
println(sequence2.joinToString()) // 1, 2, 3
// sequence2.drop(1).joinToString() // <- iterating sequence second time will fail
//sampleEnd
}