Последовательность
interface Sequence<out T>
Последовательность, которая возвращает значения через свой итератор. Значения вычисляются лениво, и последовательность может быть бесконечной.
Последовательности можно итерировать несколько раз, однако некоторые реализации последовательностей могут быть ограничены одной итерацией. Это специально указано в их документации (например, generateSequence перегрузка). Последние последовательности генерируют исключение при попытке итерировать их второй раз.
Операции над последовательностями, такие как Sequence.map, Sequence.filter и т.д., как правило, сохраняют это свойство последовательности, и об этом также упоминается в документации операции, если это не так.
Параметры
T - тип элементов в последовательности.
Функции
Расширяющие функции
все
Возвращает true если все элементы соответствуют заданному
fun <T> Sequence<T>.all(predicate: (T) -> Boolean): Boolean
любой
Возвращает true если последовательность содержит хотя бы один элемент.
fun <T> Sequence<T>.any(): Boolean
Возвращает true если хотя бы один элемент соответствует заданному
fun <T> Sequence<T>.any(predicate: (T) -> Boolean): Boolean
asIterable
Создаёт экземпляр Iterable, который оборачивает исходную последовательность, возвращая её элементы при итерировании.
fun <T> Sequence<T>.asIterable(): Iterable<T>
asSequence
Возвращает эту последовательность как Sequence.
fun <T> Sequence<T>.asSequence(): Sequence<T>
associate
Возвращает Map, содержащую пары ключ-значение, полученные при применении функции
fun <T, K, V> Sequence<T>.associate(
transform: (T) -> Pair<K, V>
): Map<K, V>
associateBy
Возвращает Map, содержащую элементы из заданной последовательности, индексированные ключом, возвращенным функцией
fun <T, K> Sequence<T>.associateBy(
keySelector: (T) -> K
): Map<K, T>
Возвращает Map, содержащую значения, предоставленные функцией , применённой к элементам заданной последовательности.
fun <T, K, V> Sequence<T>.associateBy( keySelector: (T) -> K, valueTransform: (T) -> V ): Map<K, V>
associateByTo
Заполняет и возвращает изменяемую карту , применённой к каждому элементу заданной последовательности, а значение — сам элемент.
fun <T, K, M : MutableMap<in K, in T>> Sequence<T>.associateByTo( destination: M, keySelector: (T) -> K ): M
associateTo
Заполняет и возвращает изменяемую карту , применённой к каждому элементу заданной последовательности.
fun <T, K, V, M : MutableMap<in K, in V>> Sequence<T>.associateTo( destination: M, transform: (T) -> Pair<K, V> ): M
associateWith
Возвращает Map, где ключи — элементы из заданной последовательности, а значения производятся функцией
fun <K, V> Sequence<K>.associateWith(
valueSelector: (K) -> V
): Map<K, V>
associateWithTo
Заполняет и возвращает изменяемую карту назначения парами ключ-значение для каждого элемента заданной последовательности, где ключ — это сам элемент, а значение — результат применения функции выбора значения к этому ключу.
fun <K, V, M : MutableMap<in K, in V>> Sequence<K>.associateWithTo( destination: M, valueSelector: (K) -> V ): M
average
Возвращает среднее значение элементов в последовательности.
fun Sequence<Byte>.average(): Double
fun Sequence<Short>.average(): Double
fun Sequence<Int>.average(): Double
fun Sequence<Long>.average(): Double
fun Sequence<Float>.average(): Double
fun Sequence<Double>.average(): Double
chunked
Разбивает эту последовательность на последовательность списков, каждый из которых не превышает заданного размера.
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
Возвращает обернутую последовательность, которая предоставляет значения этой последовательности, но гарантирует, что она может быть итерирована только один раз.
fun <T> Sequence<T>.constrainOnce(): Sequence<T>
contains
Возвращает true если элемент element найден в последовательности.
operator fun <T> Sequence<T>.contains(element: T): Boolean
count
Возвращает количество элементов в этой последовательности.
fun <T> Sequence<T>.count(): Int
Возвращает количество элементов, соответствующих заданному предикату.
fun <T> Sequence<T>.count(predicate: (T) -> Boolean): Int
distinct
Возвращает последовательность, содержащую только уникальные элементы из заданной последовательности.
fun <T> Sequence<T>.distinct(): Sequence<T>
distinctBy
Возвращает последовательность, содержащую только элементы из заданной последовательности, имеющие уникальные ключи, возвращаемые заданной функцией selector.
fun <T, K> Sequence<T>.distinctBy( selector: (T) -> K ): Sequence<T>
drop
Возвращает последовательность, содержащую все элементы, кроме первых n элементов.
fun <T> Sequence<T>.drop(n: Int): Sequence<T>
dropWhile
Возвращает последовательность, содержащую все элементы, кроме первых элементов, которые удовлетворяют заданному предикату.
fun <T> Sequence<T>.dropWhile( predicate: (T) -> Boolean ): Sequence<T>
elementAt
Возвращает элемент по заданному индексу, или выбрасывает исключение IndexOutOfBoundsException, если индекс выходит за пределы этой последовательности.
fun <T> Sequence<T>.elementAt(index: Int): T
elementAtOrElse
Возвращает элемент по заданному индексу, или результат вызова функции defaultValue, если индекс выходит за пределы этой последовательности.
fun <T> Sequence<T>.elementAtOrElse( index: Int, defaultValue: (Int) -> T ): T
elementAtOrNull
filter
Возвращает последовательность, содержащую только элементы, соответствующие заданному предикату.
fun <T> Sequence<T>.filter( predicate: (T) -> Boolean ): Sequence<T>
filterIndexed
Возвращает последовательность, содержащую только элементы, соответствующие заданному предикату.
fun <T> Sequence<T>.filterIndexed( predicate: (index: Int, T) -> Boolean ): Sequence<T>
filterIndexedTo
Добавляет все элементы, соответствующие заданному предикату, в заданное назначение.
fun <T, C : MutableCollection<in T>> Sequence<T>.filterIndexedTo( destination: C, predicate: (index: Int, T) -> Boolean ): C
filterIsInstance
Возвращает последовательность, содержащую все элементы, являющиеся экземплярами указанного параметра типа R.
fun <R> Sequence<*>.filterIsInstance(): Sequence<R>
Возвращает последовательность, содержащую все элементы, являющиеся экземплярами указанного класса.
fun <R> Sequence<*>.filterIsInstance( klass: Class<R> ): Sequence<R>
filterIsInstanceTo
Добавляет все элементы, являющиеся экземплярами указанного параметра типа R, в заданное назначение.
fun <R, C : MutableCollection<in R>> Sequence<*>.filterIsInstanceTo( destination: C ): C
Добавляет все элементы, являющиеся экземплярами указанного класса, в заданное назначение.
fun <C : MutableCollection<in R>, R> Sequence<*>.filterIsInstanceTo( destination: C, klass: Class<R> ): C
filterNot
Возвращает последовательность, содержащую все элементы, не соответствующие заданному предикату.
fun <T> Sequence<T>.filterNot( predicate: (T) -> Boolean ): Sequence<T>
filterNotNull
Возвращает последовательность, содержащую все элементы, которые не являются null.
fun <T : Any> Sequence<T?>.filterNotNull(): Sequence<T>
filterNotNullTo
Добавляет все элементы, которые не являются null , в заданное назначение.
fun <C : MutableCollection<in T>, T : Any> Sequence<T?>.filterNotNullTo( destination: C ): C
filterNotTo
Добавляет все элементы, не соответствующие заданному предикату, в заданное назначение.
fun <T, C : MutableCollection<in T>> Sequence<T>.filterNotTo( destination: C, predicate: (T) -> Boolean ): C
filterTo
Добавляет все элементы, соответствующие заданному предикату, в заданное назначение.
fun <T, C : MutableCollection<in T>> Sequence<T>.filterTo( destination: C, predicate: (T) -> Boolean ): C
first
Возвращает первый элемент.
fun <T> Sequence<T>.first(): T
Возвращает первый элемент, соответствующий заданному predicate.
fun <T> Sequence<T>.first(predicate: (T) -> Boolean): T
firstOrNull
Возвращает первый элемент или null если последовательность пуста.
fun <T> Sequence<T>.firstOrNull(): T?
Возвращает первый элемент, соответствующий заданному predicate, или null если элемент не найден.
fun <T> Sequence<T>.firstOrNull( predicate: (T) -> Boolean ): T?
flatMap
Возвращает единую последовательность всех элементов из результатов функции transform, вызываемой для каждого элемента исходной последовательности.
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
Возвращает единую последовательность всех элементов, полученных из результатов функции transform, вызываемой для каждого элемента и его индекса в исходной последовательности.
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>
flatMapIndexedTo
Добавляет все элементы, полученные из результатов функции transform, вызываемой для каждого элемента и его индекса в исходной последовательности, в заданный destination.
fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapIndexedTo( destination: C, transform: (index: Int, T) -> Iterable<R> ): C
fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapIndexedTo( destination: C, transform: (index: Int, T) -> Sequence<R> ): C
flatMapTo
Добавляет все элементы, полученные из результатов функции transform, вызываемой для каждого элемента исходной последовательности, в заданный destination.
fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapTo( destination: C, transform: (T) -> Iterable<R> ): C
fun <T, R, C : MutableCollection<in R>> Sequence<T>.flatMapTo( destination: C, transform: (T) -> Sequence<R> ): C
flatten
Возвращает последовательность всех элементов из всех последовательностей в этой последовательности.
fun <T> Sequence<Sequence<T>>.flatten(): Sequence<T>
Возвращает последовательность всех элементов из всех итерируемых объектов в этой последовательности.
fun <T> Sequence<Iterable<T>>.flatten(): Sequence<T>
fold
foldIndexed
forEach
Выполняет заданное action для каждого элемента.
fun <T> Sequence<T>.forEach(action: (T) -> Unit)
forEachIndexed
Выполняет заданное action для каждого элемента, предоставляя порядковый индекс с элементом.
fun <T> Sequence<T>.forEachIndexed( action: (index: Int, T) -> Unit)
groupBy
Группирует элементы исходной последовательности по ключу, возвращаемому заданной функцией keySelector, применяемой к каждому элементу, и возвращает карту, где каждый ключ группы связан со списком соответствующих элементов.
fun <T, K> Sequence<T>.groupBy( keySelector: (T) -> K ): Map<K, List<T>>
Группирует значения, возвращаемые функцией valueTransform, применяемой к каждому элементу исходной последовательности по ключу, возвращаемому заданной функцией keySelector, применяемой к элементу, и возвращает карту, где каждый ключ группы связан со списком соответствующих значений.
fun <T, K, V> Sequence<T>.groupBy( keySelector: (T) -> K, valueTransform: (T) -> V ): Map<K, List<V>>
groupByTo
Группирует элементы исходной последовательности по ключу, возвращаемому заданной функцией keySelector, применяемой к каждому элементу, и помещает в карту destination каждый ключ группы, связанный со списком соответствующих элементов.
fun <T, K, M : MutableMap<in K, MutableList<T>>> Sequence<T>.groupByTo( destination: M, keySelector: (T) -> K ): M
Группирует значения, возвращаемые функцией valueTransform, применяемой к каждому элементу исходной последовательности по ключу, возвращаемому заданной функцией keySelector, применяемой к элементу, и помещает в карту destination каждый ключ группы, связанный со списком соответствующих значений.
fun <T, K, V, M : MutableMap<in K, MutableList<V>>> Sequence<T>.groupByTo( destination: M, keySelector: (T) -> K, valueTransform: (T) -> V ): M
groupingBy
Создает источник Grouping из последовательности для последующего использования с одной из операций группировки и сворачивания с использованием указанной функции keySelector для извлечения ключа из каждого элемента.
fun <T, K> Sequence<T>.groupingBy( keySelector: (T) -> K ): Grouping<T, K>
ifEmpty
Возвращает последовательность, которая перебирает элементы либо этой последовательности, либо, если эта последовательность окажется пустой, последовательности, возвращаемой функцией defaultValue.
fun <T> Sequence<T>.ifEmpty( defaultValue: () -> Sequence<T> ): Sequence<T>
indexOf
Возвращает первый индекс element или -1, если последовательность не содержит element.
fun <T> Sequence<T>.indexOf(element: T): Int
indexOfFirst
Возвращает индекс первого элемента, удовлетворяющего заданному predicate, или -1, если последовательность не содержит такого элемента.
fun <T> Sequence<T>.indexOfFirst( predicate: (T) -> Boolean ): Int
indexOfLast
Возвращает индекс последнего элемента, удовлетворяющего заданному predicate, или -1, если последовательность не содержит такого элемента.
fun <T> Sequence<T>.indexOfLast( predicate: (T) -> Boolean ): Int
joinTo
Добавляет строку из всех элементов, разделенных с помощью separator и используя заданные prefix и postfix, если указаны.
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
joinToString
Создает строку из всех элементов, разделенных с помощью separator и используя заданные prefix и postfix, если указаны.
fun <T> Sequence<T>.joinToString( separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: ((T) -> CharSequence)? = null ): String
last
Возвращает последний элемент.
fun <T> Sequence<T>.last(): T
Возвращает последний элемент, соответствующий заданному predicate.
fun <T> Sequence<T>.last(predicate: (T) -> Boolean): T
lastIndexOf
Возвращает последний индекс element, или -1, если последовательность не содержит element.
fun <T> Sequence<T>.lastIndexOf(element: T): Int
lastOrNull
Возвращает последний элемент, или null если последовательность пуста.
fun <T> Sequence<T>.lastOrNull(): T?
Возвращает последний элемент, соответствующий заданному predicate, или null если такой элемент не найден.
fun <T> Sequence<T>.lastOrNull(predicate: (T) -> Boolean): T?
map
Возвращает последовательность, содержащую результаты применения заданной функции transform к каждому элементу в исходной последовательности.
fun <T, R> Sequence<T>.map(transform: (T) -> R): Sequence<R>
mapIndexed
Возвращает последовательность, содержащую результаты применения заданной функции transform к каждому элементу и его индексу в исходной последовательности.
fun <T, R> Sequence<T>.mapIndexed( transform: (index: Int, T) -> R ): Sequence<R>
mapIndexedNotNull
Возвращает последовательность, содержащую только не-null результаты применения заданной функции transform к каждому элементу и его индексу в исходной последовательности.
fun <T, R : Any> Sequence<T>.mapIndexedNotNull( transform: (index: Int, T) -> R? ): Sequence<R>
mapIndexedNotNullTo
Применяет заданную функцию transform к каждому элементу и его индексу в исходной последовательности и добавляет только не-null результаты в заданный destination.
fun <T, R : Any, C : MutableCollection<in R>> Sequence<T>.mapIndexedNotNullTo( destination: C, transform: (index: Int, T) -> R? ): C
mapIndexedTo
Применяет заданную функцию transform к каждому элементу и его индексу в исходной последовательности и добавляет результаты в заданный destination.
fun <T, R, C : MutableCollection<in R>> Sequence<T>.mapIndexedTo( destination: C, transform: (index: Int, T) -> R ): C
mapNotNull
Возвращает последовательность, содержащую только не-null результаты применения заданной функции transform к каждому элементу в исходной последовательности.
fun <T, R : Any> Sequence<T>.mapNotNull( transform: (T) -> R? ): Sequence<R>
mapNotNullTo
Применяет заданную функцию transform к каждому элементу в исходной последовательности и добавляет только не-null результаты в заданный destination.
fun <T, R : Any, C : MutableCollection<in R>> Sequence<T>.mapNotNullTo( destination: C, transform: (T) -> R? ): C
mapTo
Применяет заданную функцию transform к каждому элементу исходной последовательности и добавляет результаты в заданный destination.
fun <T, R, C : MutableCollection<in R>> Sequence<T>.mapTo( destination: C, transform: (T) -> R ): C
max
fun Sequence<Double>.max(): Double?
fun Sequence<Float>.max(): Float?
fun <T : Comparable<T>> Sequence<T>.max(): T?
maxBy
fun <T, R : Comparable<R>> Sequence<T>.maxBy( selector: (T) -> R ): T?
maxByOrNull
Возвращает первый элемент, дающий наибольшее значение заданной функции, или null если элементов нет.
fun <T, R : Comparable<R>> Sequence<T>.maxByOrNull( selector: (T) -> R ): T?
maxOf
Возвращает наибольшее значение среди всех значений, полученных функцией selector, примененной к каждому элементу в последовательности.
fun <T> Sequence<T>.maxOf(selector: (T) -> Double): Double
fun <T> Sequence<T>.maxOf(selector: (T) -> Float): Float
fun <T, R : Comparable<R>> Sequence<T>.maxOf( selector: (T) -> R ): R
maxOfOrNull
Возвращает наибольшее значение среди всех значений, полученных функцией selector, примененной к каждому элементу в последовательности, или null если элементов нет.
fun <T> Sequence<T>.maxOfOrNull( selector: (T) -> Double ): Double?
fun <T> Sequence<T>.maxOfOrNull( selector: (T) -> Float ): Float?
fun <T, R : Comparable<R>> Sequence<T>.maxOfOrNull( selector: (T) -> R ): R?
maxOfWith
Возвращает наибольшее значение по предоставленному компаратору среди всех значений, полученных функцией selector, примененной к каждому элементу в последовательности.
fun <T, R> Sequence<T>.maxOfWith( comparator: Comparator<in R>, selector: (T) -> R ): R
maxOfWithOrNull
Возвращает наибольшее значение по предоставленному компаратору среди всех значений, полученных функцией selector, примененной к каждому элементу в последовательности, или null если элементов нет.
fun <T, R> Sequence<T>.maxOfWithOrNull( comparator: Comparator<in R>, selector: (T) -> R ): R?
maxOrNull
Возвращает наибольший элемент или null если элементов нет.
fun Sequence<Double>.maxOrNull(): Double?
fun Sequence<Float>.maxOrNull(): Float?
fun <T : Comparable<T>> Sequence<T>.maxOrNull(): T?
maxWith
fun <T> Sequence<T>.maxWith(comparator: Comparator<in T>): T?
maxWithOrNull
Возвращает первый элемент с наибольшим значением по предоставленному компаратору или null если элементов нет.
fun <T> Sequence<T>.maxWithOrNull( comparator: Comparator<in T> ): T?
min
fun Sequence<Double>.min(): Double?
fun Sequence<Float>.min(): Float?
fun <T : Comparable<T>> Sequence<T>.min(): T?
minBy
fun <T, R : Comparable<R>> Sequence<T>.minBy( selector: (T) -> R ): T?
minByOrNull
Возвращает первый элемент, дающий наименьшее значение заданной функции, или null если элементов нет.
fun <T, R : Comparable<R>> Sequence<T>.minByOrNull( selector: (T) -> R ): T?
minOf
Возвращает наименьшее значение среди всех значений, полученных функцией selector, примененной к каждому элементу в последовательности.
fun <T> Sequence<T>.minOf(selector: (T) -> Double): Double
fun <T> Sequence<T>.minOf(selector: (T) -> Float): Float
fun <T, R : Comparable<R>> Sequence<T>.minOf( selector: (T) -> R ): R
minOfOrNull
Возвращает наименьшее значение среди всех значений, полученных функцией selector, примененной к каждому элементу в последовательности, или null если элементов нет.
fun <T> Sequence<T>.minOfOrNull( selector: (T) -> Double ): Double?
fun <T> Sequence<T>.minOfOrNull( selector: (T) -> Float ): Float?
fun <T, R : Comparable<R>> Sequence<T>.minOfOrNull( selector: (T) -> R ): R?
minOfWith
Возвращает наименьшее значение в соответствии с предоставленным компаратором среди всех значений, полученных с помощью функции селектора, применённой к каждому элементу в последовательности.
fun <T, R> Sequence<T>.minOfWith( comparator: Comparator<in R>, selector: (T) -> R ): R
minOfWithOrNull
Возвращает наименьшее значение в соответствии с предоставленным компаратором среди всех значений, полученных с помощью функции селектора, применённой к каждому элементу в последовательности, или null , если элементов нет.
fun <T, R> Sequence<T>.minOfWithOrNull( comparator: Comparator<in R>, selector: (T) -> R ): R?
minOrNull
Возвращает наименьший элемент или null , если элементов нет.
fun Sequence<Double>.minOrNull(): Double?
fun Sequence<Float>.minOrNull(): Float?
fun <T : Comparable<T>> Sequence<T>.minOrNull(): T?
minus
Возвращает последовательность, содержащую все элементы исходной последовательности без первого вхождения заданного элемента.
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
Возвращает последовательность, содержащую все элементы исходной последовательности без первого вхождения заданного элемента.
fun <T> Sequence<T>.minusElement(element: T): Sequence<T>
minWith
fun <T> Sequence<T>.minWith(comparator: Comparator<in T>): T?
minWithOrNull
Возвращает первый элемент с наименьшим значением в соответствии с предоставленным компаратором или null , если элементов нет.
fun <T> Sequence<T>.minWithOrNull( comparator: Comparator<in T> ): T?
none
Возвращает true , если последовательность не содержит элементов.
fun <T> Sequence<T>.none(): Boolean
Возвращает true , если ни один элемент не соответствует заданному предикату.
fun <T> Sequence<T>.none(predicate: (T) -> Boolean): Boolean
onEach
Возвращает последовательность, которая выполняет заданное действие над каждым элементом исходной последовательности по мере их прохождения.
fun <T> Sequence<T>.onEach(action: (T) -> Unit): Sequence<T>
onEachIndexed
Возвращает последовательность, которая выполняет заданное действие над каждым элементом исходной последовательности по мере их прохождения.
fun <T> Sequence<T>.onEachIndexed( action: (index: Int, T) -> Unit ): Sequence<T>
orEmpty
Возвращает эту последовательность, если она не null , и пустую последовательность в противном случае.
fun <T> Sequence<T>?.orEmpty(): Sequence<T>
partition
plus
Возвращает последовательность, содержащую все элементы исходной последовательности, а затем заданный element.
operator fun <T> Sequence<T>.plus(element: T): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, а затем все элементы заданного массива elements.
operator fun <T> Sequence<T>.plus( elements: Array<out T> ): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, а затем все элементы заданной коллекции elements.
operator fun <T> Sequence<T>.plus( elements: Iterable<T> ): Sequence<T>
Возвращает последовательность, содержащую все элементы исходной последовательности, а затем все элементы заданной последовательности elements.
operator fun <T> Sequence<T>.plus( elements: Sequence<T> ): Sequence<T>
plusElement
Возвращает последовательность, содержащую все элементы исходной последовательности, а затем заданный element.
fun <T> Sequence<T>.plusElement(element: T): Sequence<T>
reduce
Накапливает значение, начиная с первого элемента и применяя operation слева направо к текущему значению накопителя и каждому элементу.
fun <S, T : S> Sequence<T>.reduce( operation: (acc: S, T) -> S ): S
reduceIndexed
Накапливает значение, начиная с первого элемента и применяя operation слева направо к текущему значению накопителя и каждому элементу с его индексом в исходной последовательности.
fun <S, T : S> Sequence<T>.reduceIndexed( operation: (index: Int, acc: S, T) -> S ): S
reduceIndexedOrNull
Накапливает значение, начиная с первого элемента и применяя operation слева направо к текущему значению накопителя и каждому элементу с его индексом в исходной последовательности.
fun <S, T : S> Sequence<T>.reduceIndexedOrNull( operation: (index: Int, acc: S, T) -> S ): S?
reduceOrNull
Накапливает значение, начиная с первого элемента и применяя operation слева направо к текущему значению накопителя и каждому элементу.
fun <S, T : S> Sequence<T>.reduceOrNull( operation: (acc: S, T) -> S ): S?
requireNoNulls
Возвращает исходную коллекцию, содержащую все не-null элементы, выбрасывая IllegalArgumentException, если есть какие-либо null элементы.
fun <T : Any> Sequence<T?>.requireNoNulls(): Sequence<T>
runningFold
Возвращает последовательность, содержащую последовательные значения накопления, генерируемые путем применения operation слева направо к каждому элементу и текущему значению накопителя, которое начинается со значения initial.
fun <T, R> Sequence<T>.runningFold( initial: R, operation: (acc: R, T) -> R ): Sequence<R>
runningFoldIndexed
Возвращает последовательность, содержащую последовательные значения накопления, генерируемые путем применения operation слева направо к каждому элементу, его индексу в исходной последовательности и текущему значению накопителя, которое начинается со значения initial.
fun <T, R> Sequence<T>.runningFoldIndexed( initial: R, operation: (index: Int, acc: R, T) -> R ): Sequence<R>
runningReduce
Возвращает последовательность, содержащую последовательные значения накопления, генерируемые путем применения operation слева направо к каждому элементу и текущему значению накопителя, которое начинается с первого элемента этой последовательности.
fun <S, T : S> Sequence<T>.runningReduce( operation: (acc: S, T) -> S ): Sequence<S>
runningReduceIndexed
Возвращает последовательность, содержащую последовательные значения накопления, полученные путём применения операции слева направо к каждому элементу, его индексу в исходной последовательности и текущему значению накопителя, которое начинается с первого элемента этой последовательности.
fun <S, T : S> Sequence<T>.runningReduceIndexed( operation: (index: Int, acc: S, T) -> S ): Sequence<S>
scan
Возвращает последовательность, содержащую последовательные значения накопления, полученные путём применения операции слева направо к каждому элементу и текущему значению накопителя, которое начинается со значения initial.
fun <T, R> Sequence<T>.scan( initial: R, operation: (acc: R, T) -> R ): Sequence<R>
scanIndexed
Возвращает последовательность, содержащую последовательные значения накопления, полученные путём применения операции слева направо к каждому элементу, его индексу в исходной последовательности и текущему значению накопителя, которое начинается со значения initial.
fun <T, R> Sequence<T>.scanIndexed( initial: R, operation: (index: Int, acc: R, T) -> R ): Sequence<R>
scanReduce
fun <S, T : S> Sequence<T>.scanReduce( operation: (acc: S, T) -> S ): Sequence<S>
scanReduceIndexed
fun <S, T : S> Sequence<T>.scanReduceIndexed( operation: (index: Int, acc: S, T) -> S ): Sequence<S>
shuffled
Возвращает последовательность, содержащую элементы этой последовательности, перемешанные случайным образом.
fun <T> Sequence<T>.shuffled(): Sequence<T>
Возвращает последовательность, содержащую элементы этой последовательности, перемешанные случайным образом, используя указанный экземпляр random в качестве источника случайности.
fun <T> Sequence<T>.shuffled(random: Random): Sequence<T>
single
Возвращает единственный элемент или выбрасывает исключение, если последовательность пустая или содержит более одного элемента.
fun <T> Sequence<T>.single(): T
Возвращает единственный элемент, соответствующий заданному предикату, или выбрасывает исключение, если соответствующего элемента нет или их больше одного.
fun <T> Sequence<T>.single(predicate: (T) -> Boolean): T
singleOrNull
Возвращает единственный элемент или null , если последовательность пустая или содержит более одного элемента.
fun <T> Sequence<T>.singleOrNull(): T?
Возвращает единственный элемент, соответствующий заданному предикату, или null , если элемент не найден или найдено более одного элемента.
fun <T> Sequence<T>.singleOrNull( predicate: (T) -> Boolean ): T?
sorted
Возвращает последовательность, содержащую элементы этой последовательности, отсортированные по их естественному порядку сортировки.
fun <T : Comparable<T>> Sequence<T>.sorted(): Sequence<T>
sortedBy
Возвращает последовательность, содержащую элементы этой последовательности, отсортированные по естественному порядку сортировки значения, возвращаемого заданной функцией selector.
fun <T, R : Comparable<R>> Sequence<T>.sortedBy( selector: (T) -> R? ): Sequence<T>
sortedByDescending
Возвращает последовательность, содержащую элементы этой последовательности, отсортированные в порядке убывания по естественному порядку сортировки значения, возвращаемого заданной функцией selector.
fun <T, R : Comparable<R>> Sequence<T>.sortedByDescending( selector: (T) -> R? ): Sequence<T>
sortedDescending
Возвращает последовательность, содержащую элементы этой последовательности, отсортированные в порядке убывания по их естественному порядку сортировки.
fun <T : Comparable<T>> Sequence<T>.sortedDescending(): Sequence<T>
sortedWith
Возвращает последовательность, содержащую элементы этой последовательности, отсортированные согласно указанному компаратору.
fun <T> Sequence<T>.sortedWith( comparator: Comparator<in T> ): Sequence<T>
сумма
Возвращает сумму всех элементов в последовательности.
fun Sequence<Byte>.sum(): Int
fun Sequence<Short>.sum(): Int
fun Sequence<Int>.sum(): Int
fun Sequence<Long>.sum(): Long
fun Sequence<Float>.sum(): Float
fun Sequence<Double>.sum(): Double
fun Sequence<UInt>.sum(): UInt
fun Sequence<ULong>.sum(): ULong
fun Sequence<UByte>.sum(): UInt
fun Sequence<UShort>.sum(): UInt
суммаПо
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу в последовательности.
fun <T> Sequence<T>.sumBy(selector: (T) -> Int): Int
суммаПоДвойному
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу в последовательности.
fun <T> Sequence<T>.sumByDouble( selector: (T) -> Double ): Double
суммаИз
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу в последовательности.
fun <T> Sequence<T>.sumOf(selector: (T) -> Double): Double
fun <T> Sequence<T>.sumOf(selector: (T) -> Int): Int
fun <T> Sequence<T>.sumOf(selector: (T) -> Long): Long
fun <T> Sequence<T>.sumOf(selector: (T) -> UInt): UInt
fun <T> Sequence<T>.sumOf(selector: (T) -> ULong): ULong
fun <T> Sequence<T>.sumOf( selector: (T) -> BigDecimal ): BigDecimal
fun <T> Sequence<T>.sumOf( selector: (T) -> BigInteger ): BigInteger
взять
Возвращает последовательность, содержащую первые n элементов.
fun <T> Sequence<T>.take(n: Int): Sequence<T>
взятьПока
Возвращает последовательность, содержащую первые элементы, удовлетворяющие заданному предикату.
fun <T> Sequence<T>.takeWhile( predicate: (T) -> Boolean ): Sequence<T>
вКоллекцию
Добавляет все элементы в заданную коллекцию destination.
fun <T, C : MutableCollection<in T>> Sequence<T>.toCollection( destination: C ): C
вМножествоХэш
Возвращает новое множество HashSet всех элементов.
fun <T> Sequence<T>.toHashSet(): HashSet<T>
вСписок
Возвращает Список, содержащий все элементы.
fun <T> Sequence<T>.toList(): List<T>
вКарту
Возвращает новую карту, содержащую все пары ключ-значение из заданной последовательности пар.
fun <K, V> Sequence<Pair<K, V>>.toMap(): Map<K, V>
Заполняет и возвращает изменяемую карту destination парами ключ-значение из заданной последовательности пар.
fun <K, V, M : MutableMap<in K, in V>> Sequence<Pair<K, V>>.toMap( destination: M ): M
вИзменяемыйСписок
Возвращает новый MutableList, заполненный всеми элементами этой последовательности.
fun <T> Sequence<T>.toMutableList(): MutableList<T>
вИзменяемоеМножество
Возвращает новое MutableSet, содержащее все уникальные элементы из заданной последовательности.
fun <T> Sequence<T>.toMutableSet(): MutableSet<T>
воМножество
Возвращает Множество всех элементов.
fun <T> Sequence<T>.toSet(): Set<T>
вОтсортированноеМножество
Возвращает новое SortedSet всех элементов.
fun <T : Comparable<T>> Sequence<T>.toSortedSet(): SortedSet<T>
fun <T> Sequence<T>.toSortedSet( comparator: Comparator<in T> ): SortedSet<T>
unzip
Возвращает пару списков, где первый список составлен из первых значений каждой пары из этой последовательности, а второй — из вторых значений каждой пары из этой последовательности.
fun <T, R> Sequence<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>
windowed
Возвращает последовательность снимков окна заданного размера, скользящего вдоль этой последовательности с заданным шагом, где каждый снимок представляет собой список.
fun <T> Sequence<T>.windowed( size: Int, step: Int = 1, partialWindows: Boolean = false ): Sequence<List<T>>
Возвращает последовательность результатов применения заданной функции преобразования к каждому списку, представляющему собой вид на окно заданного размера, скользящего вдоль этой последовательности с заданным шагом.
fun <T, R> Sequence<T>.windowed( size: Int, step: Int = 1, partialWindows: Boolean = false, transform: (List<T>) -> R ): Sequence<R>
withIndex
Возвращает последовательность, которая оборачивает каждый элемент исходной последовательности в IndexedValue, содержащий индекс этого элемента и сам элемент.
fun <T> Sequence<T>.withIndex(): Sequence<IndexedValue<T>>
zip
Возвращает последовательность значений, построенных из элементов последовательности this и последовательности other с тем же индексом. Результирующая последовательность заканчивается, как только заканчивается самая короткая входная последовательность.
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>
zipWithNext
Возвращает последовательность пар из каждых двух соседних элементов в этой последовательности.
fun <T> Sequence<T>.zipWithNext(): Sequence<Pair<T, T>>
Возвращает последовательность, содержащую результаты применения заданной функции преобразования к каждой паре из двух соседних элементов в этой последовательности.
fun <T, R> Sequence<T>.zipWithNext( transform: (a: T, b: T) -> R ): Sequence<R>
Наследники
FileTreeWalk
Этот класс предназначен для реализации различных методов обхода файлов. Он позволяет итерироваться по всем файлам внутри заданной директории.
class FileTreeWalk : Sequence<File>
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html