Spec-Zone.ru › Kotlin 2

Объявления уровня пакета

kotlin-stdlib/kotlin.sequences

Тип 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). При попытке выполнить итерацию по таким последовательностям во второй раз выбрасывается исключение.

Типы

Sequence

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

interface Sequence<out T>

Последовательность, возвращающая значения через итератор. Значения вычисляются лениво, а последовательность потенциально бесконечна.

SequenceScope

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

abstract class SequenceScope<in T>

Область действия для выдачи значений Sequence или Iterator; предоставляет suspend-функции yield и yieldAll.

Функции

all

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

inline fun <T> Sequence<T>.all(predicate: (T) -> Boolean): Boolean

Возвращает true, если все элементы соответствуют заданному предикату.

allDistinct

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

@ExperimentalStdlibApi
fun <T> Sequence<T>.allDistinct(): Boolean

Возвращает true, если все элементы последовательности отличаются друг от друга, то есть любые два элемента не равны.

allDistinctBy

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

@ExperimentalStdlibApi
inline fun <T, K> Sequence<T>.allDistinctBy(selector: (T) -> K): Boolean

Возвращает true, если все значения, полученные применением заданной функции выбора к элементам последовательности, отличаются друг от друга.

allEqual

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

@ExperimentalStdlibApi
fun <T> Sequence<T>.allEqual(): Boolean

Возвращает true, если все элементы последовательности равны друг другу.

allEqualBy

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

@ExperimentalStdlibApi
inline fun <T, K> Sequence<T>.allEqualBy(selector: (T) -> K): Boolean

Возвращает true, если все элементы последовательности дают одинаковое значение, полученное с помощью заданной функции выбора.

any

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

fun <T> Sequence<T>.any(): Boolean

Возвращает true, если последовательность содержит хотя бы один элемент.

inline fun <T> Sequence<T>.any(predicate: (T) -> Boolean): Boolean

Возвращает true, если хотя бы один элемент соответствует заданному предикату.

asIterable

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

fun <T> Sequence<T>.asIterable(): Iterable<T>

Создает экземпляр Iterable, который оборачивает исходную последовательность и возвращает ее элементы при переборе.

asSequence

Требования к платформе и версии: 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>

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

associate

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

inline fun <T, K, V> Sequence<T>.associate(transform: (T) -> Pair<K, V>): Map<K, V>

Возвращает Map, содержащую пары ключ-значение, предоставленные функцией преобразования, примененной к элементам заданной последовательности.

associateBy

Требования к платформе и версии: 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, примененными к элементам заданной последовательности.

associateByTo

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

@IgnorableReturnValue
inline fun <T, K, M : MutableMap<in K, in T>> Sequence<T>.associateByTo(destination: M, keySelector: (T) -> K): M

Заполняет изменяемую карту назначения парами ключ-значение и возвращает ее. Ключ предоставляется функцией keySelector, примененной к каждому элементу заданной последовательности, а значение — сам элемент.

@IgnorableReturnValue
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, примененными к элементам заданной последовательности.

associateTo

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

@IgnorableReturnValue
inline fun <T, K, V, M : MutableMap<in K, in V>> Sequence<T>.associateTo(destination: M, transform: (T) -> Pair<K, V>): M

Заполняет изменяемую карту назначения парами ключ-значение, предоставленными функцией преобразования, примененной к каждому элементу заданной последовательности, и возвращает ее.

associateWith

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

inline fun <K, V> Sequence<K>.associateWith(valueSelector: (K) -> V): Map<K, V>

Возвращает Map, в которой ключами являются элементы заданной последовательности, а значения получены функцией valueSelector, примененной к каждому элементу.

associateWithTo

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

@IgnorableReturnValue
inline fun <K, V, M : MutableMap<in K, in V>> Sequence<K>.associateWithTo(destination: M, valueSelector: (K) -> V): M

Заполняет изменяемую карту назначения парами ключ-значение для каждого элемента заданной последовательности и возвращает ее. Ключом является сам элемент, а значение предоставляется функцией valueSelector, примененной к этому ключу.

average

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

@JvmName(name = "averageOfByte")
fun Sequence<Byte>.average(): Double
@JvmName(name = "averageOfDouble")
fun Sequence<Double>.average(): Double
@JvmName(name = "averageOfFloat")
fun Sequence<Float>.average(): Double
@JvmName(name = "averageOfInt")
fun Sequence<Int>.average(): Double
@JvmName(name = "averageOfLong")
fun Sequence<Long>.average(): Double
@JvmName(name = "averageOfShort")
fun Sequence<Short>.average(): Double

Возвращает среднее значение элементов последовательности.

chunked

Требования к платформе и версии: 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>

Разбивает эту последовательность на несколько списков, каждый из которых не превышает заданный размер, и применяет к каждому из них заданную функцию преобразования.

constrainOnce

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

fun <T> Sequence<T>.constrainOnce(): Sequence<T>

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

contains

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

operator fun <T> Sequence<T>.contains(element: T): Boolean

Возвращает true, если элемент найден в последовательности.

count

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

fun <T> Sequence<T>.count(): Int

Возвращает количество элементов в этой последовательности.

inline fun <T> Sequence<T>.count(predicate: (T) -> Boolean): Int

Возвращает количество элементов, соответствующих заданному предикату.

distinct

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

fun <T> Sequence<T>.distinct(): Sequence<T>

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

distinctBy

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

fun <T, K> Sequence<T>.distinctBy(selector: (T) -> K): Sequence<T>

Возвращает последовательность, содержащую только элементы заданной последовательности с уникальными ключами, возвращаемыми заданной функцией выбора.

drop

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

fun <T> Sequence<T>.drop(n: Int): Sequence<T>

Возвращает последовательность, содержащую все элементы, кроме первых n элементов.

dropWhile

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

fun <T> Sequence<T>.dropWhile(predicate: (T) -> Boolean): Sequence<T>

Возвращает последовательность, содержащую все элементы, кроме первых элементов, удовлетворяющих заданному предикату.

elementAt

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

fun <T> Sequence<T>.elementAt(index: Int): T

Возвращает элемент с заданным индексом или выбрасывает IndexOutOfBoundsException, если индекс выходит за границы этой последовательности.

elementAtOrElse

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

fun <T> Sequence<T>.elementAtOrElse(index: Int, defaultValue: (Int) -> T): T

Возвращает элемент с заданным индексом или результат вызова функции defaultValue, если индекс выходит за границы этой последовательности.

elementAtOrNull

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

fun <T> Sequence<T>.elementAtOrNull(index: Int): T?

Возвращает элемент с заданным индексом или null, если индекс выходит за границы этой последовательности.

emptySequence

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

fun <T> emptySequence(): Sequence<T>

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

filter

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

fun <T> Sequence<T>.filter(predicate: (T) -> Boolean): Sequence<T>

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

filterIndexed

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

fun <T> Sequence<T>.filterIndexed(predicate: (index: Int, T) -> Boolean): Sequence<T>

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

filterIndexedTo

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

@IgnorableReturnValue
inline fun <T, C : MutableCollection<in T>> Sequence<T>.filterIndexedTo(destination: C, predicate: (index: Int, T) -> Boolean): C

Добавляет все элементы, соответствующие заданному предикату, в указанное назначение.

filterIsInstance

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

inline fun <R> Sequence<*>.filterIsInstance(): Sequence<R>

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

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

fun <R> Sequence<*>.filterIsInstance(klass: Class<R>): Sequence<R>

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

filterIsInstanceTo

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

@IgnorableReturnValue
inline fun <R, C : MutableCollection<in R>> Sequence<*>.filterIsInstanceTo(destination: C): C

Добавляет все элементы, являющиеся экземплярами указанного параметра типа R, в заданное назначение.

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

@IgnorableReturnValue
fun <C : MutableCollection<in R>, R> Sequence<*>.filterIsInstanceTo(destination: C, klass: Class<R>): C

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

filterNot

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

fun <T> Sequence<T>.filterNot(predicate: (T) -> Boolean): Sequence<T>

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

filterNotNull

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

fun <T : Any> Sequence<T?>.filterNotNull(): Sequence<T>

Возвращает последовательность, содержащую все элементы, которые не являются null.

filterNotNullTo

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

@IgnorableReturnValue
fun <C : MutableCollection<in T>, T : Any> Sequence<T?>.filterNotNullTo(destination: C): C

Добавляет все элементы, которые не являются null, в заданное назначение.

filterNotTo

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

@IgnorableReturnValue
inline fun <T, C : MutableCollection<in T>> Sequence<T>.filterNotTo(destination: C, predicate: (T) -> Boolean): C

Добавляет все элементы, не соответствующие заданному предикату, в указанное назначение.

filterTo

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

@IgnorableReturnValue
inline fun <T, C : MutableCollection<in T>> Sequence<T>.filterTo(destination: C, predicate: (T) -> Boolean): C

Добавляет все элементы, соответствующие заданному предикату, в указанное назначение.

find

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

inline fun <T> Sequence<T>.find(predicate: (T) -> Boolean): T?

Возвращает первый элемент, соответствующий заданному предикату, или null, если такой элемент не найден.

findLast

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

inline fun <T> Sequence<T>.findLast(predicate: (T) -> Boolean): T?

Возвращает последний элемент, соответствующий заданному предикату, или null, если такой элемент не найден.

first

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

fun <T> Sequence<T>.first(): T

Возвращает первый элемент.

inline fun <T> Sequence<T>.first(predicate: (T) -> Boolean): T

Возвращает первый элемент, соответствующий заданному предикату.

firstNotNullOf

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

inline fun <T, R : Any> Sequence<T>.firstNotNullOf(transform: (T) -> R?): R

Возвращает первое ненулевое значение, полученное функцией преобразования, примененной к элементам этой последовательности в порядке перебора, или выбрасывает NoSuchElementException, если ненулевое значение не получено.

firstNotNullOfOrNull

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

inline fun <T, R : Any> Sequence<T>.firstNotNullOfOrNull(transform: (T) -> R?): R?

Возвращает первое ненулевое значение, полученное функцией преобразования, примененной к элементам этой последовательности в порядке перебора, или null, если ненулевое значение не получено.

firstOrNull

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

fun <T> Sequence<T>.firstOrNull(): T?

Возвращает первый элемент или null, если последовательность пуста.

inline fun <T> Sequence<T>.firstOrNull(predicate: (T) -> Boolean): T?

Возвращает первый элемент, соответствующий заданному предикату, или null, если элемент не найден.

flatMap

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

@JvmName(name = "flatMapIterable")
fun <T, R> Sequence<T>.flatMap(transform: (T) -> Iterable<R>): Sequence<R>

Возвращает единую последовательность всех элементов, полученных в результате вызова функции преобразования для каждого элемента исходной последовательности.

fun <T, R> Sequence<T>.flatMap(transform: (T) -> Sequence<R>): Sequence<R>

Возвращает единую последовательность всех элементов, полученных в результате вызова функции преобразования для каждого элемента исходной последовательности.

flatMapIndexed

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

@JvmName(name = "flatMapIndexedIterable")
fun <T, R> Sequence<T>.flatMapIndexed(transform: (index: Int, T) -> Iterable<R>): Sequence<R>
@JvmName(name = "flatMapIndexedSequence")
fun <T, R> Sequence<T>.flatMapIndexed(transform: (index: Int, T) -> Sequence<R>): Sequence<R>

Возвращает единую последовательность всех элементов, полученных в результате вызова функции преобразования для каждого элемента и его индекса в исходной последовательности.

flatMapIndexedTo

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

@JvmName(name = "flatMapIndexedIterableTo")
@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapIndexedTo(destination: C, transform: (index: Int, T) -> Iterable<R>): C
@JvmName(name = "flatMapIndexedSequenceTo")
@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapIndexedTo(destination: C, transform: (index: Int, T) -> Sequence<R>): C

Добавляет в заданное назначение все элементы, полученные в результате вызова функции преобразования для каждого элемента и его индекса в исходной последовательности.

flatMapTo

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

@JvmName(name = "flatMapIterableTo")
@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapTo(destination: C, transform: (T) -> Iterable<R>): C

Добавляет в указанную destination все элементы, полученные в результате вызова функции transform для каждого элемента исходной последовательности.

@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapTo(destination: C, transform: (T) -> Sequence<R>): C

Добавляет в указанную destination все элементы, полученные в результате вызова функции transform для каждого элемента исходной последовательности.

flatten

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

@JvmName(name = "flattenSequenceOfIterable")
fun <T> Sequence<Iterable<T>>.flatten(): Sequence<T>

Возвращает последовательность, содержащую все элементы всех итерируемых объектов в этой последовательности.

fun <T> Sequence<Sequence<T>>.flatten(): Sequence<T>

Возвращает последовательность, содержащую все элементы всех последовательностей в этой последовательности.

fold

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

inline fun <T, R> Sequence<T>.fold(initial: R, operation: (acc: R, T) -> R): R

Накапливает значение, начиная с значения initial и применяя operation слева направо к текущему значению аккумулятора и каждому элементу.

foldIndexed

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

inline fun <T, R> Sequence<T>.foldIndexed(initial: R, operation: (index: Int, acc: R, T) -> R): R

Накапливает значение, начиная с значения initial и применяя operation слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной последовательности.

forEach

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

inline fun <T> Sequence<T>.forEach(action: (T) -> Unit)

Выполняет указанное action для каждого элемента.

forEachIndexed

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

inline fun <T> Sequence<T>.forEachIndexed(action: (index: Int, T) -> Unit)

Выполняет указанное action для каждого элемента, передавая вместе с элементом его порядковый индекс.

generateSequence

Требования к платформе и версии: 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, которая при каждой итерации вызывается для вычисления следующего значения на основе предыдущего.

groupBy

Требования к платформе и версии: 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, применённой к элементу, и возвращает карту, в которой каждому ключу группы соответствует список соответствующих значений.

groupByTo

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

@IgnorableReturnValue
inline fun <T, K, M : MutableMap<in K, MutableList<T>>> Sequence<T>.groupByTo(destination: M, keySelector: (T) -> K): M

Группирует элементы исходной последовательности по ключу, возвращаемому функцией keySelector, применённой к каждому элементу, и добавляет в карту destination каждый ключ группы со списком соответствующих элементов.

@IgnorableReturnValue
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 каждый ключ группы со списком соответствующих значений.

groupingBy

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

inline fun <T, K> Sequence<T>.groupingBy(crossinline keySelector: (T) -> K): Grouping<T, K>

Создаёт источник Grouping из последовательности для последующего использования в одной из операций группировки и свёртки, используя указанную функцию keySelector для извлечения ключа из каждого элемента.

ifEmpty

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

fun <T> Sequence<T>.ifEmpty(defaultValue: () -> Sequence<T>): Sequence<T>

Возвращает последовательность, перебирающую элементы этой последовательности либо, если она окажется пустой, последовательности, возвращённой функцией defaultValue.

indexOf

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

fun <T> Sequence<T>.indexOf(element: T): Int

Возвращает индекс первого element или -1, если последовательность не содержит этот элемент.

indexOfFirst

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

inline fun <T> Sequence<T>.indexOfFirst(predicate: (T) -> Boolean): Int

Возвращает индекс первого элемента, соответствующего заданному predicate, или -1, если последовательность не содержит такого элемента.

indexOfLast

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

inline fun <T> Sequence<T>.indexOfLast(predicate: (T) -> Boolean): Int

Возвращает индекс последнего элемента, соответствующего заданному predicate, или -1, если последовательность не содержит такого элемента.

isSorted

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

fun <T : Comparable<T>> Sequence<T>.isSorted(): Boolean

Возвращает true, если каждый элемент последовательности меньше или равен следующему элементу согласно естественному порядку сортировки.

isSortedBy

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

inline fun <T, R : Comparable<R>> Sequence<T>.isSortedBy(selector: (T) -> R?): Boolean

Возвращает true, если для каждого элемента последовательности функция selector возвращает значение, меньшее или равное значению selector для следующего элемента согласно естественному порядку сортировки значений selector.

isSortedByDescending

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

inline fun <T, R : Comparable<R>> Sequence<T>.isSortedByDescending(selector: (T) -> R?): Boolean

Возвращает true, если для каждого элемента последовательности функция selector возвращает значение, большее или равное значению selector для следующего элемента согласно естественному порядку сортировки значений selector.

isSortedDescending

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

fun <T : Comparable<T>> Sequence<T>.isSortedDescending(): Boolean

Возвращает true, если каждый элемент последовательности больше или равен следующему элементу согласно естественному порядку сортировки.

isSortedWith

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

fun <T> Sequence<T>.isSortedWith(comparator: Comparator<in T>): Boolean

Возвращает true, если каждый элемент последовательности меньше или равен следующему элементу согласно указанному comparator.

iterator

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

fun <T> iterator(block: suspend SequenceScope<T>.() -> Unit): Iterator<T>

Создаёт Iterator, лениво выдающий значения по одному.

joinTo

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

@IgnorableReturnValue
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

Добавляет строковое представление всех элементов, разделённых с помощью separator; если указаны, также использует prefix и postfix.

joinToString

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

fun <T> Sequence<T>.joinToString(separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: (T) -> CharSequence? = null): String

Создаёт строку из всех элементов, разделённых с помощью separator; если указаны, также использует prefix и postfix.

last

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

fun <T> Sequence<T>.last(): T

Возвращает последний элемент.

inline fun <T> Sequence<T>.last(predicate: (T) -> Boolean): T

Возвращает последний элемент, соответствующий заданному predicate.

lastIndexOf

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

fun <T> Sequence<T>.lastIndexOf(element: T): Int

Возвращает индекс последнего element или -1, если последовательность не содержит этот элемент.

lastOrNull

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

fun <T> Sequence<T>.lastOrNull(): T?

Возвращает последний элемент или null, если последовательность пуста.

inline fun <T> Sequence<T>.lastOrNull(predicate: (T) -> Boolean): T?

Возвращает последний элемент, соответствующий заданному predicate, или null, если такой элемент не найден.

map

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

fun <T, R> Sequence<T>.map(transform: (T) -> R): Sequence<R>

Возвращает последовательность, содержащую результаты применения заданной функции transform к каждому элементу исходной последовательности.

mapIndexed

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

fun <T, R> Sequence<T>.mapIndexed(transform: (index: Int, T) -> R): Sequence<R>

Возвращает последовательность, содержащую результаты применения заданной функции transform к каждому элементу исходной последовательности и его индексу.

mapIndexedNotNull

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

fun <T, R : Any> Sequence<T>.mapIndexedNotNull(transform: (index: Int, T) -> R?): Sequence<R>

Возвращает последовательность, содержащую только ненулевые результаты применения заданной функции transform к каждому элементу исходной последовательности и его индексу.

mapIndexedNotNullTo

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

@IgnorableReturnValue
inline fun <T, R : Any, C : MutableCollection<in R>> Sequence<T>.mapIndexedNotNullTo(destination: C, transform: (index: Int, T) -> R?): C

Применяет заданную функцию transform к каждому элементу исходной последовательности и его индексу и добавляет в указанную destination только ненулевые результаты.

mapIndexedTo

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

@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.mapIndexedTo(destination: C, transform: (index: Int, T) -> R): C

Применяет заданную функцию transform к каждому элементу исходной последовательности и его индексу и добавляет результаты в указанную destination.

mapNotNull

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

fun <T, R : Any> Sequence<T>.mapNotNull(transform: (T) -> R?): Sequence<R>

Возвращает последовательность, содержащую только ненулевые результаты применения заданной функции transform к каждому элементу исходной последовательности.

mapNotNullTo

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

@IgnorableReturnValue
inline fun <T, R : Any, C : MutableCollection<in R>> Sequence<T>.mapNotNullTo(destination: C, transform: (T) -> R?): C

Применяет заданную функцию transform к каждому элементу исходной последовательности и добавляет в указанную destination только ненулевые результаты.

mapTo

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

@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Sequence<T>.mapTo(destination: C, transform: (T) -> R): C

Применяет заданную функцию transform к каждому элементу исходной последовательности и добавляет результаты в указанную destination.

max

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

@JvmName(name = "maxOrThrow")
fun <T : Comparable<T>> Sequence<T>.max(): T
@JvmName(name = "maxOrThrow")
fun Sequence<Double>.max(): Double
@JvmName(name = "maxOrThrow")
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?
maxBy

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

@JvmName(name = "maxByOrThrow")
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?
maxByOrNull

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

inline fun <T, R : Comparable<R>> Sequence<T>.maxByOrNull(selector: (T) -> R): T?

Возвращает первый элемент, для которого функция selector возвращает наибольшее значение, или null, если элементов нет.

maxOf

Требования к платформе и версии: 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 к каждому элементу последовательности.

maxOfOrNull

Требования к платформе и версии: 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, если последовательность пуста.

maxOfWith

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

inline fun <T, R> Sequence<T>.maxOfWith(comparator: Comparator<in R>, selector: (T) -> R): R

Возвращает наибольшее по заданному comparator значение среди всех значений, полученных в результате применения функции selector к каждому элементу последовательности.

maxOfWithOrNull

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

inline fun <T, R> Sequence<T>.maxOfWithOrNull(comparator: Comparator<in R>, selector: (T) -> R): R?

Возвращает наибольшее по заданному comparator значение среди всех значений, полученных в результате применения функции selector к каждому элементу последовательности, или null, если последовательность пуста.

maxOrNull

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

fun <T : Comparable<T>> Sequence<T>.maxOrNull(): T?
fun Sequence<Double>.maxOrNull(): Double?
fun Sequence<Float>.maxOrNull(): Float?

Возвращает наибольший элемент или null, если последовательность пуста.

maxWith

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

@JvmName(name = "maxWithOrThrow")
fun <T> Sequence<T>.maxWith(comparator: Comparator<in T>): T

Возвращает первый элемент с наибольшим значением согласно заданному comparator.

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

fun <T> Sequence<T>.maxWith(comparator: Comparator<in T>): T?
maxWithOrNull

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

fun <T> Sequence<T>.maxWithOrNull(comparator: Comparator<in T>): T?

Возвращает первый элемент с наибольшим значением согласно заданному comparator или null, если элементов нет.

min

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

@JvmName(name = "minOrThrow")
fun <T : Comparable<T>> Sequence<T>.min(): T
@JvmName(name = "minOrThrow")
fun Sequence<Double>.min(): Double
@JvmName(name = "minOrThrow")
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?
minBy

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

@JvmName(name = "minByOrThrow")
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?
minByOrNull

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

inline fun <T, R : Comparable<R>> Sequence<T>.minByOrNull(selector: (T) -> R): T?

Возвращает первый элемент, для которого функция селектор возвращает наименьшее значение, или null, если элементов нет.

minOf

Требования к платформе и версии: Общая (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

Возвращает наименьшее значение среди всех значений, полученных при применении функции селектор к каждому элементу последовательности.

minOfOrNull

Требования к платформе и версии: Общая (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, если последовательность пуста.

minOfWith

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

inline fun <T, R> Sequence<T>.minOfWith(comparator: Comparator<in R>, selector: (T) -> R): R

Возвращает наименьшее значение согласно заданному компаратору среди всех значений, полученных при применении функции селектор к каждому элементу последовательности.

minOfWithOrNull

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

inline fun <T, R> Sequence<T>.minOfWithOrNull(comparator: Comparator<in R>, selector: (T) -> R): R?

Возвращает наименьшее значение согласно заданному компаратору среди всех значений, полученных при применении функции селектор к каждому элементу последовательности, или null, если последовательность пуста.

minOrNull

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

fun <T : Comparable<T>> Sequence<T>.minOrNull(): T?
fun Sequence<Double>.minOrNull(): Double?
fun Sequence<Float>.minOrNull(): Float?

Возвращает наименьший элемент или null, если последовательность пуста.

minus

Требования к платформе и версии: Общая (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>

Возвращает последовательность, содержащую все элементы исходной последовательности, кроме элементов, содержащихся в заданной последовательности элементов.

minusElement

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

inline fun <T> Sequence<T>.minusElement(element: T): Sequence<T>

Возвращает последовательность, содержащую все элементы исходной последовательности, кроме первого вхождения заданного элемента.

minWith

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

@JvmName(name = "minWithOrThrow")
fun <T> Sequence<T>.minWith(comparator: Comparator<in T>): T

Возвращает первый элемент с наименьшим значением согласно заданному компаратору.

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

fun <T> Sequence<T>.minWith(comparator: Comparator<in T>): T?
minWithOrNull

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

fun <T> Sequence<T>.minWithOrNull(comparator: Comparator<in T>): T?

Возвращает первый элемент с наименьшим значением согласно заданному компаратору или null, если элементов нет.

none

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

fun <T> Sequence<T>.none(): Boolean

Возвращает true, если последовательность не содержит элементов.

inline fun <T> Sequence<T>.none(predicate: (T) -> Boolean): Boolean

Возвращает true, если ни один элемент не соответствует заданному предикату.

onEach

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

fun <T> Sequence<T>.onEach(action: (T) -> Unit): Sequence<T>

Возвращает последовательность, которая выполняет заданное действие над каждым элементом исходной последовательности по мере прохождения элементов через неё.

onEachIndexed

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

fun <T> Sequence<T>.onEachIndexed(action: (index: Int, T) -> Unit): Sequence<T>

Возвращает последовательность, которая выполняет заданное действие над каждым элементом исходной последовательности по мере прохождения элементов через неё.

orEmpty

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

inline fun <T> Sequence<T>?.orEmpty(): Sequence<T>

Возвращает эту последовательность, если она не null, и пустую последовательность в противном случае.

partition

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

inline fun <T> Sequence<T>.partition(predicate: (T) -> Boolean): Pair<List<T>, List<T>>

Разбивает исходную последовательность на пару списков: первый список содержит элементы, для которых предикат вернул true, а второй список содержит элементы, для которых предикат вернул false.

plus

Требования к платформе и версии: Общая (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>

Возвращает последовательность, содержащую все элементы исходной последовательности, а затем все элементы заданной последовательности элементов.

plusElement

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

inline fun <T> Sequence<T>.plusElement(element: T): Sequence<T>

Возвращает последовательность, содержащую все элементы исходной последовательности, а затем заданный элемент.

reduce

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

inline fun <S, T : S> Sequence<T>.reduce(operation: (acc: S, T) -> S): S

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

reduceIndexed

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

inline fun <S, T : S> Sequence<T>.reduceIndexed(operation: (index: Int, acc: S, T) -> S): S

Накапливает значение, начиная с первого элемента, применяя операцию слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной последовательности.

reduceIndexedOrNull

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

inline fun <S, T : S> Sequence<T>.reduceIndexedOrNull(operation: (index: Int, acc: S, T) -> S): S?

Накапливает значение, начиная с первого элемента, применяя операцию слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной последовательности.

reduceOrNull

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

inline fun <S, T : S> Sequence<T>.reduceOrNull(operation: (acc: S, T) -> S): S?

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

requireNoNulls

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

fun <T : Any> Sequence<T?>.requireNoNulls(): Sequence<T>

Возвращает исходную коллекцию, содержащую все элементы, отличные от null; если имеются элементы null, выбрасывает исключение IllegalArgumentException.

runningFold

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

fun <T, R> Sequence<T>.runningFold(initial: R, operation: (acc: R, T) -> R): Sequence<R>

Возвращает последовательность, содержащую последовательные значения накопления, полученные применением операции слева направо к каждому элементу и текущему значению аккумулятора, изначально равному значению initial.

runningFoldIndexed

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

fun <T, R> Sequence<T>.runningFoldIndexed(initial: R, operation: (index: Int, acc: R, T) -> R): Sequence<R>

Возвращает последовательность, содержащую последовательные значения накопления, полученные применением операции слева направо к каждому элементу, его индексу в исходной последовательности и текущему значению аккумулятора, изначально равному значению initial.

runningReduce

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

fun <S, T : S> Sequence<T>.runningReduce(operation: (acc: S, T) -> S): Sequence<S>

Возвращает последовательность, содержащую последовательные значения накопления, полученные применением операции слева направо к каждому элементу и текущему значению аккумулятора, изначально равному первому элементу этой последовательности.

runningReduceIndexed

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

fun <S, T : S> Sequence<T>.runningReduceIndexed(operation: (index: Int, acc: S, T) -> S): Sequence<S>

Возвращает последовательность, содержащую последовательные значения накопления, полученные применением операции слева направо к каждому элементу, его индексу в исходной последовательности и текущему значению аккумулятора, изначально равному первому элементу этой последовательности.

scan

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

fun <T, R> Sequence<T>.scan(initial: R, operation: (acc: R, T) -> R): Sequence<R>

Возвращает последовательность, содержащую последовательные значения накопления, полученные применением операции слева направо к каждому элементу и текущему значению аккумулятора, изначально равному значению initial.

scanIndexed

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

fun <T, R> Sequence<T>.scanIndexed(initial: R, operation: (index: Int, acc: R, T) -> R): Sequence<R>

Возвращает последовательность, содержащую последовательные значения накопления, полученные применением операции слева направо к каждому элементу, его индексу в исходной последовательности и текущему значению аккумулятора, изначально равному значению initial.

Sequence

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

inline fun <T> Sequence(crossinline iterator: () -> Iterator<T>): Sequence<T>

По заданной функции итератора создаёт Sequence, возвращающую значения через Iterator, предоставленный этой функцией. Значения вычисляются лениво, а последовательность потенциально бесконечна.

sequence

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

fun <T> sequence(block: suspend SequenceScope<T>.() -> Unit): Sequence<T>

Создаёт Sequence, лениво выдающую значения по одному.

sequenceOf

Требования к платформе и версии: Общая (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>

Создаёт последовательность, возвращающую заданные значения.

shuffled

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

fun <T> Sequence<T>.shuffled(): Sequence<T>

Возвращает последовательность, выдающую элементы этой последовательности в случайном порядке.

fun <T> Sequence<T>.shuffled(random: Random): Sequence<T>

Возвращает последовательность, выдающую элементы этой последовательности в случайном порядке, используя заданный экземпляр генератора случайных чисел в качестве источника случайности.

single

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

fun <T> Sequence<T>.single(): T

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

inline fun <T> Sequence<T>.single(predicate: (T) -> Boolean): T

Возвращает единственный элемент, соответствующий заданному предикату, или выбрасывает исключение, если совпадений нет или их больше одного.

singleOrNull

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

fun <T> Sequence<T>.singleOrNull(): T?

Возвращает единственный элемент или null, если последовательность пуста или содержит более одного элемента.

inline fun <T> Sequence<T>.singleOrNull(predicate: (T) -> Boolean): T?

Возвращает единственный элемент, соответствующий заданному предикату, или null, если элемент не найден либо найдено более одного элемента.

sorted

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

fun <T : Comparable<T>> Sequence<T>.sorted(): Sequence<T>

Возвращает последовательность, выдающую элементы этой последовательности в соответствии с естественным порядком сортировки.

sortedBy

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

inline fun <T, R : Comparable<R>> Sequence<T>.sortedBy(crossinline selector: (T) -> R?): Sequence<T>

Возвращает последовательность, выдающую элементы этой последовательности в порядке естественной сортировки значений, возвращаемых заданной функцией селектор.

sortedByDescending

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

inline fun <T, R : Comparable<R>> Sequence<T>.sortedByDescending(crossinline selector: (T) -> R?): Sequence<T>

Возвращает последовательность, выдающую элементы этой последовательности в порядке убывания значений, возвращаемых заданной функцией селектор, согласно естественному порядку сортировки.

sortedDescending

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

fun <T : Comparable<T>> Sequence<T>.sortedDescending(): Sequence<T>

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

sortedWith

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

fun <T> Sequence<T>.sortedWith(comparator: Comparator<in T>): Sequence<T>

Возвращает последовательность, выдающую элементы этой последовательности в порядке, заданном компаратором.

sum

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

@JvmName(name = "sumOfByte")
fun Sequence<Byte>.sum(): Int
@JvmName(name = "sumOfDouble")
fun Sequence<Double>.sum(): Double
@JvmName(name = "sumOfFloat")
fun Sequence<Float>.sum(): Float
@JvmName(name = "sumOfInt")
fun Sequence<Int>.sum(): Int
@JvmName(name = "sumOfLong")
fun Sequence<Long>.sum(): Long
@JvmName(name = "sumOfShort")
fun Sequence<Short>.sum(): Int

Возвращает сумму всех элементов последовательности.

@JvmName(name = "sumOfUByte")
fun Sequence<UByte>.sum(): UInt
@JvmName(name = "sumOfUInt")
fun Sequence<UInt>.sum(): UInt
@JvmName(name = "sumOfULong")
fun Sequence<ULong>.sum(): ULong
@JvmName(name = "sumOfUShort")
fun Sequence<UShort>.sum(): UInt

Возвращает сумму всех элементов последовательности.

sumBy

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

inline fun <T> Sequence<T>.sumBy(selector: (T) -> Int): Int

Возвращает сумму всех значений, полученных при применении функции селектор к каждому элементу последовательности.

sumByDouble

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

inline fun <T> Sequence<T>.sumByDouble(selector: (T) -> Double): Double

Возвращает сумму всех значений, полученных при применении функции селектор к каждому элементу последовательности.

sumOf

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

@JvmName(name = "sumOfDouble")
inline fun <T> Sequence<T>.sumOf(selector: (T) -> Double): Double
@JvmName(name = "sumOfInt")
inline fun <T> Sequence<T>.sumOf(selector: (T) -> Int): Int
@JvmName(name = "sumOfLong")
inline fun <T> Sequence<T>.sumOf(selector: (T) -> Long): Long

Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу последовательности.

@JvmName(name = "sumOfUInt")
inline fun <T> Sequence<T>.sumOf(selector: (T) -> UInt): UInt
@JvmName(name = "sumOfULong")
inline fun <T> Sequence<T>.sumOf(selector: (T) -> ULong): ULong

Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу последовательности.

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

@JvmName(name = "sumOfBigDecimal")
inline fun <T> Sequence<T>.sumOf(selector: (T) -> BigDecimal): BigDecimal
@JvmName(name = "sumOfBigInteger")
inline fun <T> Sequence<T>.sumOf(selector: (T) -> BigInteger): BigInteger

Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу последовательности.

take

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

fun <T> Sequence<T>.take(n: Int): Sequence<T>

Возвращает последовательность, содержащую первые n элементов.

takeWhile

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

fun <T> Sequence<T>.takeWhile(predicate: (T) -> Boolean): Sequence<T>

Возвращает последовательность, содержащую первые элементы, удовлетворяющие заданному predicate.

toCollection

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

@IgnorableReturnValue
fun <T, C : MutableCollection<in T>> Sequence<T>.toCollection(destination: C): C

Добавляет все элементы в заданную коллекцию destination.

toHashSet

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

fun <T> Sequence<T>.toHashSet(): HashSet<T>

Возвращает новый HashSet со всеми элементами.

toList

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

fun <T> Sequence<T>.toList(): List<T>

Возвращает List, содержащий все элементы.

toMutableList

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

fun <T> Sequence<T>.toMutableList(): MutableList<T>

Возвращает новый MutableList, заполненный всеми элементами этой последовательности.

toMutableSet

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

fun <T> Sequence<T>.toMutableSet(): MutableSet<T>

Возвращает новый MutableSet, содержащий все различные элементы заданной последовательности.

toSet

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

fun <T> Sequence<T>.toSet(): Set<T>

Возвращает Set со всеми элементами.

toSortedSet

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

fun <T : Comparable<T>> Sequence<T>.toSortedSet(): SortedSet<T>
fun <T> Sequence<T>.toSortedSet(comparator: Comparator<in T>): SortedSet<T>

Возвращает новый SortedSet со всеми элементами.

unzip

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

fun <T, R> Sequence<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>

Возвращает пару списков: первый список состоит из первых значений каждой пары этой последовательности, а второй список — из вторых значений каждой пары этой последовательности.

windowed

Требования к платформе и версии: 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>

Возвращает последовательность результатов применения заданной функции transform к каждому списку, представляющему окно заданного size, которое скользит по этой последовательности с заданным step.

withIndex

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

fun <T> Sequence<T>.withIndex(): Sequence<IndexedValue<T>>

Возвращает последовательность, в которой каждый элемент исходной последовательности обёрнут в IndexedValue, содержащий индекс этого элемента и сам элемент.

zip

Требования к платформе и версии: 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, применённой к каждой паре элементов. Результирующая последовательность заканчивается, как только заканчивается самая короткая входная последовательность.

zipWithNext

Требования к платформе и версии: 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/

Spec-Zone.ru

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