Объявления уровня пакета
Тип Sequence, представляющий лениво вычисляемые коллекции. Функции верхнего уровня для создания последовательностей и функции-расширения для последовательностей.
Классификация последовательностей
Операции над последовательностями можно разделить на следующие группы в зависимости от требований к состоянию:
без сохранения состояния – операции, которым не требуется состояние и которые обрабатывают каждый элемент независимо, например kotlin.sequences.Sequence.map, kotlin.sequences.Sequence.filter, либо для обработки элемента требуют небольшого постоянного объёма состояния, например kotlin.sequences.Sequence.take или kotlin.sequences.Sequence.drop;
с сохранением состояния – операции, которым требуется значительный объём состояния, обычно пропорциональный количеству элементов в последовательности.
Если операция над последовательностью возвращает другую последовательность, которая создаётся лениво, она называется промежуточной; в противном случае операция является терминальной. Примеры терминальных операций: kotlin.sequences.Sequence.toList, kotlin.sequences.Sequence.max.
По последовательностям можно выполнять итерацию несколько раз, однако некоторые реализации последовательностей могут допускать итерацию только один раз. Это специально указано в их документации (например, в перегрузке kotlin.sequences.generateSequence). При попытке выполнить итерацию по таким последовательностям во второй раз выбрасывается исключение.
Типы
Функции
Требования к платформе и версии: Common (2.4)
fun <T> Sequence<T>.allDistinct(): Boolean
Возвращает true, если все элементы последовательности отличаются друг от друга, то есть любые два элемента не равны.
Требования к платформе и версии: Common (1.0)
fun <T> Iterator<T>.asSequence(): Sequence<T>
Создает последовательность, возвращающую все элементы этого итератора. Последовательность разрешено перебирать только один раз.
inline fun <T> Sequence<T>.asSequence(): Sequence<T>
Возвращает эту последовательность как Sequence.
Требования к платформе и версии: JVM (1.0)
inline fun <T> Enumeration<T>.asSequence(): Sequence<T>
Создает последовательность, возвращающую все значения этого перечисления. Последовательность разрешено перебирать только один раз.
Требования к платформе и версии: Common (1.0)
inline fun <T, K> Sequence<T>.associateBy(keySelector: (T) -> K): Map<K, T>
Возвращает Map, содержащую элементы заданной последовательности, проиндексированные ключами, возвращаемыми функцией keySelector, примененной к каждому элементу.
inline fun <T, K, V> Sequence<T>.associateBy(keySelector: (T) -> K, valueTransform: (T) -> V): Map<K, V>
Возвращает Map, содержащую значения, предоставленные функцией valueTransform, и проиндексированные функцией keySelector, примененными к элементам заданной последовательности.
Требования к платформе и версии: Common (1.0)
inline fun <T, K, M : MutableMap<in K, in T>> Sequence<T>.associateByTo(destination: M, keySelector: (T) -> K): M
Заполняет изменяемую карту назначения парами ключ-значение и возвращает ее. Ключ предоставляется функцией keySelector, примененной к каждому элементу заданной последовательности, а значение — сам элемент.
inline fun <T, K, V, M : MutableMap<in K, in V>> Sequence<T>.associateByTo(destination: M, keySelector: (T) -> K, valueTransform: (T) -> V): M
Заполняет изменяемую карту назначения парами ключ-значение и возвращает ее. Ключ предоставляется функцией keySelector, а значение — функцией valueTransform, примененными к элементам заданной последовательности.
Требования к платформе и версии: Common (1.0)
inline fun <T, K, V, M : MutableMap<in K, in V>> Sequence<T>.associateTo(destination: M, transform: (T) -> Pair<K, V>): M
Заполняет изменяемую карту назначения парами ключ-значение, предоставленными функцией преобразования, примененной к каждому элементу заданной последовательности, и возвращает ее.
Требования к платформе и версии: Common (1.3)
inline fun <K, V, M : MutableMap<in K, in V>> Sequence<K>.associateWithTo(destination: M, valueSelector: (K) -> V): M
Заполняет изменяемую карту назначения парами ключ-значение для каждого элемента заданной последовательности и возвращает ее. Ключом является сам элемент, а значение предоставляется функцией valueSelector, примененной к этому ключу.
Требования к платформе и версии: Common (1.0)
fun Sequence<Byte>.average(): Double
fun Sequence<Double>.average(): Double
fun Sequence<Float>.average(): Double
fun Sequence<Int>.average(): Double
fun Sequence<Long>.average(): Double
fun Sequence<Short>.average(): Double
Возвращает среднее значение элементов последовательности.
Требования к платформе и версии: Common (1.2)
fun <T> Sequence<T>.chunked(size: Int): Sequence<List<T>>
Разбивает эту последовательность на последовательность списков, каждый из которых не превышает заданный размер.
fun <T, R> Sequence<T>.chunked(size: Int, transform: (List<T>) -> R): Sequence<R>
Разбивает эту последовательность на несколько списков, каждый из которых не превышает заданный размер, и применяет к каждому из них заданную функцию преобразования.
Требования к платформе и версии: Common (1.0)
fun <T> emptySequence(): Sequence<T>
Возвращает пустую последовательность.
Требования к платформе и версии: Common (1.0)
inline fun <T, C : MutableCollection<in T>> Sequence<T>.filterIndexedTo(destination: C, predicate: (index: Int, T) -> Boolean): C
Добавляет все элементы, соответствующие заданному предикату, в указанное назначение.
Требования к платформе и версии: Common (1.0)
inline fun <R> Sequence<*>.filterIsInstance(): Sequence<R>
Возвращает последовательность, содержащую все элементы, являющиеся экземплярами указанного параметра типа R.
Требования к платформе и версии: JVM (1.0)
fun <R> Sequence<*>.filterIsInstance(klass: Class<R>): Sequence<R>
Возвращает последовательность, содержащую все элементы, являющиеся экземплярами указанного класса.
Требования к платформе и версии: Common (1.0)
inline fun <R, C : MutableCollection<in R>> Sequence<*>.filterIsInstanceTo(destination: C): C
Добавляет все элементы, являющиеся экземплярами указанного параметра типа R, в заданное назначение.
Требования к платформе и версии: JVM (1.0)
fun <C : MutableCollection<in R>, R> Sequence<*>.filterIsInstanceTo(destination: C, klass: Class<R>): C
Добавляет все элементы, являющиеся экземплярами указанного класса, в заданное назначение.
Требования к платформе и версии: Common (1.0)
fun <C : MutableCollection<in T>, T : Any> Sequence<T?>.filterNotNullTo(destination: C): C
Добавляет все элементы, которые не являются null, в заданное назначение.
Требования к платформе и версии: Common (1.0)
inline fun <T, C : MutableCollection<in T>> Sequence<T>.filterNotTo(destination: C, predicate: (T) -> Boolean): C
Добавляет все элементы, не соответствующие заданному предикату, в указанное назначение.
Требования к платформе и версии: Common (1.5)
inline fun <T, R : Any> Sequence<T>.firstNotNullOf(transform: (T) -> R?): R
Возвращает первое ненулевое значение, полученное функцией преобразования, примененной к элементам этой последовательности в порядке перебора, или выбрасывает NoSuchElementException, если ненулевое значение не получено.
Требования к платформе и версии: Common (1.5)
inline fun <T, R : Any> Sequence<T>.firstNotNullOfOrNull(transform: (T) -> R?): R?
Возвращает первое ненулевое значение, полученное функцией преобразования, примененной к элементам этой последовательности в порядке перебора, или null, если ненулевое значение не получено.
Требования к платформе и версии: Common (1.0)
fun <T> Sequence<T>.firstOrNull(): T?
Возвращает первый элемент или null, если последовательность пуста.
inline fun <T> Sequence<T>.firstOrNull(predicate: (T) -> Boolean): T?
Возвращает первый элемент, соответствующий заданному предикату, или null, если элемент не найден.
Требования к платформе и версии: Common (1.4)
fun <T, R> Sequence<T>.flatMap(transform: (T) -> Iterable<R>): Sequence<R>
Возвращает единую последовательность всех элементов, полученных в результате вызова функции преобразования для каждого элемента исходной последовательности.
fun <T, R> Sequence<T>.flatMap(transform: (T) -> Sequence<R>): Sequence<R>
Возвращает единую последовательность всех элементов, полученных в результате вызова функции преобразования для каждого элемента исходной последовательности.
Требования к платформе и версии: Common (1.4)
fun <T, R> Sequence<T>.flatMapIndexed(transform: (index: Int, T) -> Iterable<R>): Sequence<R>
fun <T, R> Sequence<T>.flatMapIndexed(transform: (index: Int, T) -> Sequence<R>): Sequence<R>
Возвращает единую последовательность всех элементов, полученных в результате вызова функции преобразования для каждого элемента и его индекса в исходной последовательности.
Требования к платформе и версии: Common (1.4)
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapIndexedTo(destination: C, transform: (index: Int, T) -> Iterable<R>): C
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapIndexedTo(destination: C, transform: (index: Int, T) -> Sequence<R>): C
Добавляет в заданное назначение все элементы, полученные в результате вызова функции преобразования для каждого элемента и его индекса в исходной последовательности.
Требования к платформе и версии: Common (1.4)
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapTo(destination: C, transform: (T) -> Iterable<R>): C
Добавляет в указанную destination все элементы, полученные в результате вызова функции transform для каждого элемента исходной последовательности.
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapTo(destination: C, transform: (T) -> Sequence<R>): C
Добавляет в указанную destination все элементы, полученные в результате вызова функции transform для каждого элемента исходной последовательности.
Требования к платформе и версии: Common (1.0)
fun <T> Sequence<Iterable<T>>.flatten(): Sequence<T>
Возвращает последовательность, содержащую все элементы всех итерируемых объектов в этой последовательности.
fun <T> Sequence<Sequence<T>>.flatten(): Sequence<T>
Возвращает последовательность, содержащую все элементы всех последовательностей в этой последовательности.
Требования к платформе и версии: Common (1.0)
fun <T : Any> generateSequence(nextFunction: () -> T?): Sequence<T>
Возвращает последовательность, которая при каждой итерации вызывает функцию для вычисления следующего значения, пока функция не вернёт null.
fun <T : Any> generateSequence(seed: T?, nextFunction: (T) -> T?): Sequence<T>
Возвращает последовательность, определяемую начальным значением seed и функцией nextFunction, которая при каждой итерации вызывается для вычисления следующего значения на основе предыдущего.
fun <T : Any> generateSequence(seedFunction: () -> T?, nextFunction: (T) -> T?): Sequence<T>
Возвращает последовательность, определяемую функцией seedFunction, которая вызывается для получения начального значения, и функцией nextFunction, которая при каждой итерации вызывается для вычисления следующего значения на основе предыдущего.
Требования к платформе и версии: Common (1.0)
inline fun <T, K> Sequence<T>.groupBy(keySelector: (T) -> K): Map<K, List<T>>
Группирует элементы исходной последовательности по ключу, возвращаемому функцией keySelector, применённой к каждому элементу, и возвращает карту, в которой каждому ключу группы соответствует список элементов этой группы.
inline fun <T, K, V> Sequence<T>.groupBy(keySelector: (T) -> K, valueTransform: (T) -> V): Map<K, List<V>>
Группирует значения, возвращаемые функцией valueTransform, применённой к каждому элементу исходной последовательности, по ключу, возвращаемому функцией keySelector, применённой к элементу, и возвращает карту, в которой каждому ключу группы соответствует список соответствующих значений.
Требования к платформе и версии: Common (1.0)
inline fun <T, K, M : MutableMap<in K, MutableList<T>>> Sequence<T>.groupByTo(destination: M, keySelector: (T) -> K): M
Группирует элементы исходной последовательности по ключу, возвращаемому функцией keySelector, применённой к каждому элементу, и добавляет в карту destination каждый ключ группы со списком соответствующих элементов.
inline fun <T, K, V, M : MutableMap<in K, MutableList<V>>> Sequence<T>.groupByTo(destination: M, keySelector: (T) -> K, valueTransform: (T) -> V): M
Группирует значения, возвращаемые функцией valueTransform, применённой к каждому элементу исходной последовательности, по ключу, возвращаемому функцией keySelector, применённой к элементу, и добавляет в карту destination каждый ключ группы со списком соответствующих значений.
Требования к платформе и версии: Common (1.1)
inline fun <T, K> Sequence<T>.groupingBy(crossinline keySelector: (T) -> K): Grouping<T, K>
Создаёт источник Grouping из последовательности для последующего использования в одной из операций группировки и свёртки, используя указанную функцию keySelector для извлечения ключа из каждого элемента.
Требования к платформе и версии: Common (2.4)
inline fun <T, R : Comparable<R>> Sequence<T>.isSortedBy(selector: (T) -> R?): Boolean
Требования к платформе и версии: Common (2.4)
inline fun <T, R : Comparable<R>> Sequence<T>.isSortedByDescending(selector: (T) -> R?): Boolean
Требования к платформе и версии: Common (2.4)
fun <T : Comparable<T>> Sequence<T>.isSortedDescending(): Boolean
Возвращает true, если каждый элемент последовательности больше или равен следующему элементу согласно естественному порядку сортировки.
Требования к платформе и версии: Common (2.4)
fun <T> Sequence<T>.isSortedWith(comparator: Comparator<in T>): Boolean
Возвращает true, если каждый элемент последовательности меньше или равен следующему элементу согласно указанному comparator.
Требования к платформе и версии: Common (1.0)
fun <T, A : Appendable> Sequence<T>.joinTo(buffer: A, separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: (T) -> CharSequence? = null): A
Требования к платформе и версии: Common (1.0)
fun <T> Sequence<T>.joinToString(separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: (T) -> CharSequence? = null): String
Требования к платформе и версии: Common (1.0)
fun <T> Sequence<T>.lastOrNull(): T?
Возвращает последний элемент или null, если последовательность пуста.
inline fun <T> Sequence<T>.lastOrNull(predicate: (T) -> Boolean): T?
Возвращает последний элемент, соответствующий заданному predicate, или null, если такой элемент не найден.
Требования к платформе и версии: Common (1.0)
fun <T, R : Any> Sequence<T>.mapIndexedNotNull(transform: (index: Int, T) -> R?): Sequence<R>
Возвращает последовательность, содержащую только ненулевые результаты применения заданной функции transform к каждому элементу исходной последовательности и его индексу.
Требования к платформе и версии: Common (1.0)
inline fun <T, R : Any, C : MutableCollection<in R>> Sequence<T>.mapIndexedNotNullTo(destination: C, transform: (index: Int, T) -> R?): C
Применяет заданную функцию transform к каждому элементу исходной последовательности и его индексу и добавляет в указанную destination только ненулевые результаты.
Требования к платформе и версии: Common (1.0)
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.mapIndexedTo(destination: C, transform: (index: Int, T) -> R): C
Применяет заданную функцию transform к каждому элементу исходной последовательности и его индексу и добавляет результаты в указанную destination.
Требования к платформе и версии: Common (1.0)
inline fun <T, R : Any, C : MutableCollection<in R>> Sequence<T>.mapNotNullTo(destination: C, transform: (T) -> R?): C
Применяет заданную функцию transform к каждому элементу исходной последовательности и добавляет в указанную destination только ненулевые результаты.
Требования к платформе и версии: Common (1.7)
fun <T : Comparable<T>> Sequence<T>.max(): T
fun Sequence<Double>.max(): Double
fun Sequence<Float>.max(): Float
Возвращает наибольший элемент.
Требования к платформе и версии: JVM (1.0)
fun <T : Comparable<T>> Sequence<T>.max(): T?
fun Sequence<Double>.max(): Double?
fun Sequence<Float>.max(): Float?
Требования к платформе и версии: Common (1.7)
inline fun <T, R : Comparable<R>> Sequence<T>.maxBy(selector: (T) -> R): T
Возвращает первый элемент, для которого функция selector возвращает наибольшее значение.
Требования к платформе и версии: JVM (1.0)
inline fun <T, R : Comparable<R>> Sequence<T>.maxBy(selector: (T) -> R): T?
Требования к платформе и версии: Common (1.4)
inline fun <T, R : Comparable<R>> Sequence<T>.maxOf(selector: (T) -> R): R
inline fun <T> Sequence<T>.maxOf(selector: (T) -> Double): Double
inline fun <T> Sequence<T>.maxOf(selector: (T) -> Float): Float
Возвращает наибольшее значение среди всех значений, полученных в результате применения функции selector к каждому элементу последовательности.
Требования к платформе и версии: Common (1.4)
inline fun <T, R : Comparable<R>> Sequence<T>.maxOfOrNull(selector: (T) -> R): R?
inline fun <T> Sequence<T>.maxOfOrNull(selector: (T) -> Double): Double?
inline fun <T> Sequence<T>.maxOfOrNull(selector: (T) -> Float): Float?
Возвращает наибольшее значение среди всех значений, полученных в результате применения функции selector к каждому элементу последовательности, или null, если последовательность пуста.
Требования к платформе и версии: Common (1.4)
inline fun <T, R> Sequence<T>.maxOfWith(comparator: Comparator<in R>, selector: (T) -> R): R
Возвращает наибольшее по заданному comparator значение среди всех значений, полученных в результате применения функции selector к каждому элементу последовательности.
Требования к платформе и версии: Common (1.4)
inline fun <T, R> Sequence<T>.maxOfWithOrNull(comparator: Comparator<in R>, selector: (T) -> R): R?
Возвращает наибольшее по заданному comparator значение среди всех значений, полученных в результате применения функции selector к каждому элементу последовательности, или null, если последовательность пуста.
Требования к платформе и версии: Common (1.7)
fun <T> Sequence<T>.maxWith(comparator: Comparator<in T>): T
Возвращает первый элемент с наибольшим значением согласно заданному comparator.
Требования к платформе и версии: JVM (1.0)
fun <T> Sequence<T>.maxWith(comparator: Comparator<in T>): T?
Требования к платформе и версии: Common (1.4)
fun <T> Sequence<T>.maxWithOrNull(comparator: Comparator<in T>): T?
Возвращает первый элемент с наибольшим значением согласно заданному comparator или null, если элементов нет.
Требования к платформе и версии: Common (1.7)
fun <T : Comparable<T>> Sequence<T>.min(): T
fun Sequence<Double>.min(): Double
fun Sequence<Float>.min(): Float
Возвращает наименьший элемент.
Требования к платформе и версии: JVM (1.0)
fun <T : Comparable<T>> Sequence<T>.min(): T?
fun Sequence<Double>.min(): Double?
fun Sequence<Float>.min(): Float?
Требования к платформе и версии: Общая (1.7)
inline fun <T, R : Comparable<R>> Sequence<T>.minBy(selector: (T) -> R): T
Возвращает первый элемент, для которого функция селектор возвращает наименьшее значение.
Требования к платформе и версии: JVM (1.0)
inline fun <T, R : Comparable<R>> Sequence<T>.minBy(selector: (T) -> R): T?
Требования к платформе и версии: Общая (1.4)
inline fun <T, R : Comparable<R>> Sequence<T>.minOf(selector: (T) -> R): R
inline fun <T> Sequence<T>.minOf(selector: (T) -> Double): Double
inline fun <T> Sequence<T>.minOf(selector: (T) -> Float): Float
Возвращает наименьшее значение среди всех значений, полученных при применении функции селектор к каждому элементу последовательности.
Требования к платформе и версии: Общая (1.4)
inline fun <T, R : Comparable<R>> Sequence<T>.minOfOrNull(selector: (T) -> R): R?
inline fun <T> Sequence<T>.minOfOrNull(selector: (T) -> Double): Double?
inline fun <T> Sequence<T>.minOfOrNull(selector: (T) -> Float): Float?
Возвращает наименьшее значение среди всех значений, полученных при применении функции селектор к каждому элементу последовательности, или null, если последовательность пуста.
Требования к платформе и версии: Общая (1.4)
inline fun <T, R> Sequence<T>.minOfWith(comparator: Comparator<in R>, selector: (T) -> R): R
Возвращает наименьшее значение согласно заданному компаратору среди всех значений, полученных при применении функции селектор к каждому элементу последовательности.
Требования к платформе и версии: Общая (1.4)
inline fun <T, R> Sequence<T>.minOfWithOrNull(comparator: Comparator<in R>, selector: (T) -> R): R?
Возвращает наименьшее значение согласно заданному компаратору среди всех значений, полученных при применении функции селектор к каждому элементу последовательности, или null, если последовательность пуста.
Требования к платформе и версии: Общая (1.0)
operator fun <T> Sequence<T>.minus(element: T): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, кроме первого вхождения заданного элемента.
operator fun <T> Sequence<T>.minus(elements: Array<out T>): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, кроме элементов, содержащихся в заданном массиве элементов.
operator fun <T> Sequence<T>.minus(elements: Iterable<T>): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, кроме элементов, содержащихся в заданной коллекции элементов.
operator fun <T> Sequence<T>.minus(elements: Sequence<T>): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, кроме элементов, содержащихся в заданной последовательности элементов.
Требования к платформе и версии: Общая (1.7)
fun <T> Sequence<T>.minWith(comparator: Comparator<in T>): T
Возвращает первый элемент с наименьшим значением согласно заданному компаратору.
Требования к платформе и версии: JVM (1.0)
fun <T> Sequence<T>.minWith(comparator: Comparator<in T>): T?
Требования к платформе и версии: Общая (1.4)
fun <T> Sequence<T>.minWithOrNull(comparator: Comparator<in T>): T?
Возвращает первый элемент с наименьшим значением согласно заданному компаратору или null, если элементов нет.
Требования к платформе и версии: Общая (1.0)
operator fun <T> Sequence<T>.plus(element: T): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, а затем заданный элемент.
operator fun <T> Sequence<T>.plus(elements: Array<out T>): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, а затем все элементы заданного массива элементов.
operator fun <T> Sequence<T>.plus(elements: Iterable<T>): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, а затем все элементы заданной коллекции элементов.
operator fun <T> Sequence<T>.plus(elements: Sequence<T>): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, а затем все элементы заданной последовательности элементов.
Требования к платформе и версии: Общая (1.0)
inline fun <S, T : S> Sequence<T>.reduceIndexed(operation: (index: Int, acc: S, T) -> S): S
Накапливает значение, начиная с первого элемента, применяя операцию слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной последовательности.
Требования к платформе и версии: Общая (1.4)
inline fun <S, T : S> Sequence<T>.reduceIndexedOrNull(operation: (index: Int, acc: S, T) -> S): S?
Накапливает значение, начиная с первого элемента, применяя операцию слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной последовательности.
Требования к платформе и версии: Общая (1.0)
fun <T : Any> Sequence<T?>.requireNoNulls(): Sequence<T>
Возвращает исходную коллекцию, содержащую все элементы, отличные от null; если имеются элементы null, выбрасывает исключение IllegalArgumentException.
Требования к платформе и версии: Общая (1.4)
fun <S, T : S> Sequence<T>.runningReduce(operation: (acc: S, T) -> S): Sequence<S>
Возвращает последовательность, содержащую последовательные значения накопления, полученные применением операции слева направо к каждому элементу и текущему значению аккумулятора, изначально равному первому элементу этой последовательности.
Требования к платформе и версии: Общая (1.4)
fun <S, T : S> Sequence<T>.runningReduceIndexed(operation: (index: Int, acc: S, T) -> S): Sequence<S>
Возвращает последовательность, содержащую последовательные значения накопления, полученные применением операции слева направо к каждому элементу, его индексу в исходной последовательности и текущему значению аккумулятора, изначально равному первому элементу этой последовательности.
Требования к платформе и версии: Общая (2.2)
inline fun <T> sequenceOf(): Sequence<T>
Создаёт пустую Sequence.
fun <T> sequenceOf(element: T): Sequence<T>
Создаёт Sequence, содержащую один заданный элемент.
fun <T> sequenceOf(vararg elements: T): Sequence<T>
Создаёт последовательность, возвращающую заданные значения.
Требования к платформе и версии: Общая (1.4)
fun <T> Sequence<T>.shuffled(): Sequence<T>
Возвращает последовательность, выдающую элементы этой последовательности в случайном порядке.
fun <T> Sequence<T>.shuffled(random: Random): Sequence<T>
Возвращает последовательность, выдающую элементы этой последовательности в случайном порядке, используя заданный экземпляр генератора случайных чисел в качестве источника случайности.
Требования к платформе и версии: Общая (1.0)
fun <T> Sequence<T>.single(): T
Возвращает единственный элемент или выбрасывает исключение, если последовательность пуста или содержит более одного элемента.
inline fun <T> Sequence<T>.single(predicate: (T) -> Boolean): T
Возвращает единственный элемент, соответствующий заданному предикату, или выбрасывает исключение, если совпадений нет или их больше одного.
Требования к платформе и версии: Общая (1.0)
fun <T> Sequence<T>.singleOrNull(): T?
Возвращает единственный элемент или null, если последовательность пуста или содержит более одного элемента.
inline fun <T> Sequence<T>.singleOrNull(predicate: (T) -> Boolean): T?
Возвращает единственный элемент, соответствующий заданному предикату, или null, если элемент не найден либо найдено более одного элемента.
Требования к платформе и версии: Общая (1.0)
inline fun <T, R : Comparable<R>> Sequence<T>.sortedBy(crossinline selector: (T) -> R?): Sequence<T>
Возвращает последовательность, выдающую элементы этой последовательности в порядке естественной сортировки значений, возвращаемых заданной функцией селектор.
Требования к платформе и версии: Общая (1.0)
inline fun <T, R : Comparable<R>> Sequence<T>.sortedByDescending(crossinline selector: (T) -> R?): Sequence<T>
Возвращает последовательность, выдающую элементы этой последовательности в порядке убывания значений, возвращаемых заданной функцией селектор, согласно естественному порядку сортировки.
Требования к платформе и версии: Общая (1.0)
fun <T : Comparable<T>> Sequence<T>.sortedDescending(): Sequence<T>
Возвращает последовательность, выдающую элементы этой последовательности в порядке убывания согласно естественному порядку сортировки.
Требования к платформе и версии: Общая (1.0)
fun <T> Sequence<T>.sortedWith(comparator: Comparator<in T>): Sequence<T>
Возвращает последовательность, выдающую элементы этой последовательности в порядке, заданном компаратором.
Требования к платформе и версии: Общая (1.0)
fun Sequence<Byte>.sum(): Int
fun Sequence<Double>.sum(): Double
fun Sequence<Float>.sum(): Float
fun Sequence<Int>.sum(): Int
fun Sequence<Long>.sum(): Long
fun Sequence<Short>.sum(): Int
Возвращает сумму всех элементов последовательности.
fun Sequence<UByte>.sum(): UInt
fun Sequence<UInt>.sum(): UInt
fun Sequence<ULong>.sum(): ULong
fun Sequence<UShort>.sum(): UInt
Возвращает сумму всех элементов последовательности.
Требования к платформе и версии: Common (1.4)
inline fun <T> Sequence<T>.sumOf(selector: (T) -> Double): Double
inline fun <T> Sequence<T>.sumOf(selector: (T) -> Int): Int
inline fun <T> Sequence<T>.sumOf(selector: (T) -> Long): Long
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу последовательности.
inline fun <T> Sequence<T>.sumOf(selector: (T) -> UInt): UInt
inline fun <T> Sequence<T>.sumOf(selector: (T) -> ULong): ULong
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу последовательности.
Требования к платформе и версии: JVM (1.4)
inline fun <T> Sequence<T>.sumOf(selector: (T) -> BigDecimal): BigDecimal
inline fun <T> Sequence<T>.sumOf(selector: (T) -> BigInteger): BigInteger
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу последовательности.
Требования к платформе и версии: Common (1.0)
fun <T, C : MutableCollection<in T>> Sequence<T>.toCollection(destination: C): C
Добавляет все элементы в заданную коллекцию destination.
Требования к платформе и версии: Common (1.0)
fun <T> Sequence<T>.toMutableList(): MutableList<T>
Возвращает новый MutableList, заполненный всеми элементами этой последовательности.
Требования к платформе и версии: Common (1.0)
fun <T> Sequence<T>.toMutableSet(): MutableSet<T>
Возвращает новый MutableSet, содержащий все различные элементы заданной последовательности.
Требования к платформе и версии: JVM (1.0)
fun <T : Comparable<T>> Sequence<T>.toSortedSet(): SortedSet<T>
fun <T> Sequence<T>.toSortedSet(comparator: Comparator<in T>): SortedSet<T>
Возвращает новый SortedSet со всеми элементами.
Требования к платформе и версии: Common (1.2)
fun <T> Sequence<T>.windowed(size: Int, step: Int = 1, partialWindows: Boolean = false): Sequence<List<T>>
Возвращает последовательность снимков окна заданного size, которое скользит по этой последовательности с заданным step; каждый снимок является списком.
fun <T, R> Sequence<T>.windowed(size: Int, step: Int = 1, partialWindows: Boolean = false, transform: (List<T>) -> R): Sequence<R>
Требования к платформе и версии: Common (1.0)
fun <T> Sequence<T>.withIndex(): Sequence<IndexedValue<T>>
Возвращает последовательность, в которой каждый элемент исходной последовательности обёрнут в IndexedValue, содержащий индекс этого элемента и сам элемент.
Требования к платформе и версии: Common (1.0)
infix fun <T, R> Sequence<T>.zip(other: Sequence<R>): Sequence<Pair<T, R>>
Возвращает последовательность значений, составленных из элементов последовательности this и другой последовательности other с одинаковыми индексами. Результирующая последовательность заканчивается, как только заканчивается самая короткая входная последовательность.
fun <T, R, V> Sequence<T>.zip(other: Sequence<R>, transform: (a: T, b: R) -> V): Sequence<V>
Возвращает последовательность значений, составленных из элементов последовательности this и другой последовательности other с одинаковыми индексами с помощью заданной функции transform, применённой к каждой паре элементов. Результирующая последовательность заканчивается, как только заканчивается самая короткая входная последовательность.
Требования к платформе и версии: Common (1.2)
fun <T> Sequence<T>.zipWithNext(): Sequence<Pair<T, T>>
Возвращает последовательность пар из каждых двух соседних элементов этой последовательности.
fun <T, R> Sequence<T>.zipWithNext(transform: (a: T, b: T) -> R): Sequence<R>
Возвращает последовательность, содержащую результаты применения заданной функции transform к каждой паре соседних элементов этой последовательности.
© 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/