Spec-Zone.ru › Kotlin 2

asSequence

kotlin-stdlib/kotlin.sequences/asSequence

Требования к платформе и версии: Общая (1.0)

inline fun <T> Sequence<T>.asSequence(): Sequence<T>

Возвращает эту последовательность как Sequence.


fun <T> Iterator<T>.asSequence(): Sequence<T>

Создает последовательность, возвращающую все элементы этого итератора. Последовательность можно перебирать только один раз.

Примеры

import kotlin.test.*

fun main() { 
   //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
}

Требования к платформе и версии: JVM (1.0)

inline fun <T> Enumeration<T>.asSequence(): Sequence<T>

Создает последовательность, возвращающую все значения этого перечисления. Последовательность можно перебирать только один раз.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   val numbers = java.util.Hashtable<String, Int>()
numbers.put("one", 1)
numbers.put("two", 2)
numbers.put("three", 3)

// when you have an Enumeration from some old code
val enumeration: java.util.Enumeration<String> = numbers.keys()

// you can wrap it in a sequence and transform further with sequence operations
val sequence = enumeration.asSequence().sorted()
println(sequence.toList()) // [one, three, two]

// the resulting sequence is one-shot
// sequence.toList() // will fail 
   //sampleEnd
}

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.sequences/as-sequence.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API