Функция sequenceOf

Функция sequenceOf создает последовательность элементов из переданных аргументов. Последовательность Sequence представляет собой ленивую коллекцию, которая вычисляет элементы по мере необходимости. Это особенно полезно при работе с большими наборами данных или бесконечными последовательностями.

Импорт

kotlinimport kotlin.sequences.sequenceOf

Синтаксис

kotlinfun <T> sequenceOf(vararg elements: T): Sequence<T>

Пример

Создадим последовательность из нескольких чисел:

kotlinval numbers: Sequence<Int> = sequenceOf(1, 2, 3, 4, 5)
numbers.forEach { println(it) }

Результат выполнения кода:

kotlinInt 1
Int 2
Int 3
Int 4
Int 5

Пример

Создадим последовательность из строк:

kotlinval chars: Sequence<String> = sequenceOf("a", "b", "c", "d", "e")
chars.forEach { println(it) }

Результат выполнения кода:

kotlinString "a"
String "b"
String "c"
String "d"
String "e"

Пример

Последовательность можно преобразовать в список с помощью функции toList:

kotlinval seq = sequenceOf(10, 20, 30)
val list = seq.toList()
println(list)

Результат выполнения кода:

kotlinList<Int> [10, 20, 30]

Пример

Последовательность с элементами разных типов:

kotlinval mixedSeq = sequenceOf(1, "text", 3.14, true)
mixedSeq.forEach { println("$it (${it::class.simpleName})") }

Результат выполнения кода:

kotlinString "1 (Int)"
String "text (String)"
String "3.14 (Double)"
String "true (Boolean)"

Пример

Создание пустой последовательности:

kotlinval emptySeq: Sequence<Int> = sequenceOf()
println("Size: ${emptySeq.count()}")

Результат выполнения кода:

kotlinInt 0

Смотрите также

  • функцию emptySequence,
    которая создает пустую последовательность
  • функцию generateSequence,
    которая генерирует последовательность по заданному правилу
  • функцию listOf,
    которая создает неизменяемый список
  • функцию arrayOf,
    которая создает массив элементов