Iterable
interface Iterable<out T>
Классы, которые наследуют от этого интерфейса, могут быть представлены как последовательность элементов, по которым можно выполнить итерацию.
Параметры
T - тип элемента, по которому выполняется итерация. Итератор ковариантен по типу элемента.
Функции
iterator
Возвращает итератор по элементам этого объекта.
abstract operator fun iterator(): Iterator<T>
Расширяющие функции
все
Возвращает true если все элементы соответствуют заданному
fun <T> Iterable<T>.all(predicate: (T) -> Boolean): Boolean
любой
Возвращает true если коллекция содержит по крайней мере один элемент.
fun <T> Iterable<T>.any(): Boolean
Возвращает true если по крайней мере один элемент соответствует заданному
fun <T> Iterable<T>.any(predicate: (T) -> Boolean): Boolean
asIterable
Возвращает эту коллекцию как Iterable.
fun <T> Iterable<T>.asIterable(): Iterable<T>
asSequence
Создаёт экземпляр Sequence, который оборачивает исходную коллекцию, возвращая её элементы при итерировании.
fun <T> Iterable<T>.asSequence(): Sequence<T>
associate
Возвращает Map содержащий пары ключ-значение, полученные из функции
fun <T, K, V> Iterable<T>.associate(
transform: (T) -> Pair<K, V>
): Map<K, V>
associateBy
Возвращает Map, содержащий элементы из данной коллекции, индексированные по ключу, полученному из функции
fun <T, K> Iterable<T>.associateBy(
keySelector: (T) -> K
): Map<K, T>
Возвращает Map содержащий значения, полученные из функции , применённым к элементам данной коллекции.
fun <T, K, V> Iterable<T>.associateBy( keySelector: (T) -> K, valueTransform: (T) -> V ): Map<K, V>
associateByTo
Заполняет и возвращает изменяемую карту , применённой к каждому элементу данной коллекции, а значением является сам элемент.
fun <T, K, M : MutableMap<in K, in T>> Iterable<T>.associateByTo( destination: M, keySelector: (T) -> K ): M
Заполняет и возвращает изменяемую карту , а значение - функцией
fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateByTo(
destination: M,
keySelector: (T) -> K,
valueTransform: (T) -> V
): M
associateTo
Заполняет и возвращает изменяемую карту , применённой к каждому элементу данной коллекции.
fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateTo( destination: M, transform: (T) -> Pair<K, V> ): M
associateWith
Возвращает Map, где ключами являются элементы из данной коллекции, а значениями - результаты применения функции
fun <K, V> Iterable<K>.associateWith(
valueSelector: (K) -> V
): Map<K, V>
associateWithTo
Заполняет и возвращает изменяемую карту destination парами «ключ-значение» для каждого элемента заданного набора, где ключ — сам элемент, а значение предоставляется функцией valueSelector, применённой к этому ключу.
fun <K, V, M : MutableMap<in K, in V>> Iterable<K>.associateWithTo( destination: M, valueSelector: (K) -> V ): M
average
Возвращает среднее значение элементов в коллекции.
fun Iterable<Byte>.average(): Double
fun Iterable<Short>.average(): Double
fun Iterable<Int>.average(): Double
fun Iterable<Long>.average(): Double
fun Iterable<Float>.average(): Double
fun Iterable<Double>.average(): Double
chunked
Разбивает эту коллекцию на список списков, каждый из которых не превышает заданного размера.
fun <T> Iterable<T>.chunked(size: Int): List<List<T>>
Разбивает эту коллекцию на несколько списков, каждый из которых не превышает заданного функцию к каждому.
fun <T, R> Iterable<T>.chunked( size: Int, transform: (List<T>) -> R ): List<R>
contains
Возвращает true если элемент найден в коллекции.
operator fun <T> Iterable<T>.contains(element: T): Boolean
count
Возвращает количество элементов в этой коллекции.
fun <T> Iterable<T>.count(): Int
Возвращает количество элементов, удовлетворяющих заданному
fun <T> Iterable<T>.count(predicate: (T) -> Boolean): Int
distinct
Возвращает список, содержащий только уникальные элементы из заданной коллекции.
fun <T> Iterable<T>.distinct(): List<T>
distinctBy
Возвращает список, содержащий только элементы из заданной коллекции, имеющие уникальные ключи, возвращаемые заданной функцией selector.
fun <T, K> Iterable<T>.distinctBy( selector: (T) -> K ): List<T>
drop
Возвращает список, содержащий все элементы, кроме первых n элементов.
fun <T> Iterable<T>.drop(n: Int): List<T>
dropWhile
Возвращает список, содержащий все элементы, кроме первых элементов, удовлетворяющих заданному
fun <T> Iterable<T>.dropWhile(
predicate: (T) -> Boolean
): List<T>
elementAt
Возвращает элемент по заданному исключение IndexOutOfBoundsException, если
fun <T> Iterable<T>.elementAt(index: Int): T
elementAtOrElse
Возвращает элемент по заданному , если
fun <T> Iterable<T>.elementAtOrElse(
index: Int,
defaultValue: (Int) -> T
): T
elementAtOrNull
Возвращает элемент по заданному выходит за границы этой коллекции.
fun <T> Iterable<T>.elementAtOrNull(index: Int): T?
filter
Возвращает список, содержащий только элементы, соответствующие заданному
fun <T> Iterable<T>.filter(
predicate: (T) -> Boolean
): List<T>
filterIndexed
Возвращает список, содержащий только элементы, соответствующие заданному
fun <T> Iterable<T>.filterIndexed(
predicate: (index: Int, T) -> Boolean
): List<T>
filterIndexedTo
Добавляет все элементы, соответствующие заданному .
fun <T, C : MutableCollection<in T>> Iterable<T>.filterIndexedTo( destination: C, predicate: (index: Int, T) -> Boolean ): C
filterIsInstance
Возвращает список, содержащий все элементы, которые являются экземплярами указанного параметра типа R.
fun <R> Iterable<*>.filterIsInstance(): List<R>
Возвращает список, содержащий все элементы, которые являются экземплярами указанного класса.
fun <R> Iterable<*>.filterIsInstance( klass: Class<R> ): List<R>
filterIsInstanceTo
Добавляет все элементы, которые являются экземплярами указанного параметра типа R, в заданное
fun <R, C : MutableCollection<in R>> Iterable<*>.filterIsInstanceTo(
destination: C
): C
Добавляет все элементы, которые являются экземплярами указанного класса, в заданное
fun <C : MutableCollection<in R>, R> Iterable<*>.filterIsInstanceTo(
destination: C,
klass: Class<R>
): C
filterNot
Возвращает список, содержащий все элементы, не соответствующие заданному
fun <T> Iterable<T>.filterNot(
predicate: (T) -> Boolean
): List<T>
filterNotNull
Возвращает список, содержащий все элементы, которые не являются null.
fun <T : Any> Iterable<T?>.filterNotNull(): List<T>
filterNotNullTo
Добавляет все элементы, которые не являются null , в заданное
fun <C : MutableCollection<in T>, T : Any> Iterable<T?>.filterNotNullTo(
destination: C
): C
filterNotTo
Добавляет все элементы, не соответствующие заданному .
fun <T, C : MutableCollection<in T>> Iterable<T>.filterNotTo( destination: C, predicate: (T) -> Boolean ): C
filterTo
Добавляет все элементы, соответствующие заданному .
fun <T, C : MutableCollection<in T>> Iterable<T>.filterTo( destination: C, predicate: (T) -> Boolean ): C
find
Возвращает первый элемент, соответствующий заданному
fun <T> Iterable<T>.find(predicate: (T) -> Boolean): T?
findLast
Возвращает последний элемент, соответствующий заданному
fun <T> Iterable<T>.findLast(predicate: (T) -> Boolean): T?
first
Возвращает первый элемент.
fun <T> Iterable<T>.first(): T
Возвращает первый элемент, соответствующий заданному
fun <T> Iterable<T>.first(predicate: (T) -> Boolean): T
firstNotNullOf
Возвращает первое значение, не равное null, полученное в результате применения функции transform к элементам этой коллекции в порядке итерации, или выбрасывает исключение NoSuchElementException, если ни одно значение, не равное null, не было получено.
fun <T, R : Any> Iterable<T>.firstNotNullOf( transform: (T) -> R? ): R
firstNotNullOfOrNull
Возвращает первое значение, не равное null, полученное в результате применения функции transform к элементам этой коллекции в порядке итерации, или null если ни одно значение, не равное null, не было получено.
fun <T, R : Any> Iterable<T>.firstNotNullOfOrNull( transform: (T) -> R? ): R?
firstOrNull
Возвращает первый элемент, или null если коллекция пуста.
fun <T> Iterable<T>.firstOrNull(): T?
Возвращает первый элемент, соответствующий заданному predicate, или null если элемент не найден.
fun <T> Iterable<T>.firstOrNull( predicate: (T) -> Boolean ): T?
flatMap
Возвращает один список всех элементов, полученных в результате вызова функции transform для каждого элемента исходной коллекции.
fun <T, R> Iterable<T>.flatMap( transform: (T) -> Iterable<R> ): List<R>
fun <T, R> Iterable<T>.flatMap( transform: (T) -> Sequence<R> ): List<R>
flatMapIndexed
Возвращает один список всех элементов, полученных в результате вызова функции transform для каждого элемента и его индекса в исходной коллекции.
fun <T, R> Iterable<T>.flatMapIndexed( transform: (index: Int, T) -> Iterable<R> ): List<R>
fun <T, R> Iterable<T>.flatMapIndexed( transform: (index: Int, T) -> Sequence<R> ): List<R>
flatMapIndexedTo
Добавляет все элементы, полученные в результате вызова функции transform для каждого элемента и его индекса в исходной коллекции, в указанный destination.
fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapIndexedTo( destination: C, transform: (index: Int, T) -> Iterable<R> ): C
fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapIndexedTo( destination: C, transform: (index: Int, T) -> Sequence<R> ): C
flatMapTo
Добавляет все элементы, полученные в результате вызова функции transform для каждого элемента исходной коллекции, в указанный destination.
fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo( destination: C, transform: (T) -> Iterable<R> ): C
fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo( destination: C, transform: (T) -> Sequence<R> ): C
flatten
Возвращает один список всех элементов из всех коллекций в данной коллекции.
fun <T> Iterable<Iterable<T>>.flatten(): List<T>
fold
foldIndexed
forEachIndexed
Выполняет заданное действие над каждым элементом, предоставляя последовательный индекс с элементом.
fun <T> Iterable<T>.forEachIndexed( action: (index: Int, T) -> Unit)
groupBy
Группирует элементы исходной коллекции по ключу, возвращаемому заданной функцией keySelector, применённой к каждому элементу, и возвращает карту, где каждый ключ группы сопоставлен со списком соответствующих элементов.
fun <T, K> Iterable<T>.groupBy( keySelector: (T) -> K ): Map<K, List<T>>
Группирует значения, возвращаемые функцией valueTransform, применённой к каждому элементу исходной коллекции, по ключу, возвращаемому заданной функцией keySelector, применённой к элементу, и возвращает карту, где каждый ключ группы сопоставлен со списком соответствующих значений.
fun <T, K, V> Iterable<T>.groupBy( keySelector: (T) -> K, valueTransform: (T) -> V ): Map<K, List<V>>
groupByTo
Группирует элементы исходной коллекции по ключу, возвращаемому заданной функцией keySelector, применённой к каждому элементу, и помещает в карту destination каждый ключ группы, связанный со списком соответствующих элементов.
fun <T, K, M : MutableMap<in K, MutableList<T>>> Iterable<T>.groupByTo( destination: M, keySelector: (T) -> K ): M
Группирует значения, возвращаемые функцией valueTransform, применённой к каждому элементу исходной коллекции, по ключу, возвращаемому заданной функцией keySelector, применённой к элементу, и помещает в карту destination каждый ключ группы, связанный со списком соответствующих значений.
fun <T, K, V, M : MutableMap<in K, MutableList<V>>> Iterable<T>.groupByTo( destination: M, keySelector: (T) -> K, valueTransform: (T) -> V ): M
groupingBy
Создаёт источник Grouping из коллекции для последующего использования с операциями группировки и сворачивания, используя указанную функцию keySelector для извлечения ключа из каждого элемента.
fun <T, K> Iterable<T>.groupingBy( keySelector: (T) -> K ): Grouping<T, K>
indexOf
Возвращает первый индекс элемента element, или -1, если коллекция не содержит элемент.
fun <T> Iterable<T>.indexOf(element: T): Int
indexOfFirst
Возвращает индекс первого элемента, удовлетворяющего заданному предикату, или -1, если в коллекции такого элемента нет.
fun <T> Iterable<T>.indexOfFirst( predicate: (T) -> Boolean ): Int
indexOfLast
Возвращает индекс последнего элемента, удовлетворяющего заданному предикату, или -1, если в коллекции такого элемента нет.
fun <T> Iterable<T>.indexOfLast( predicate: (T) -> Boolean ): Int
intersect
Возвращает множество, содержащее все элементы, присутствующие как в этой коллекции, так и в указанной.
infix fun <T> Iterable<T>.intersect( other: Iterable<T> ): Set<T>
joinTo
Добавляет строку из всех элементов, разделенных с помощью separator и с указанным prefix и postfix, если они указаны.
fun <T, A : Appendable> Iterable<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> Iterable<T>.joinToString( separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: ((T) -> CharSequence)? = null ): String
last
Возвращает последний элемент.
fun <T> Iterable<T>.last(): T
Возвращает последний элемент, соответствующий заданному predicate.
fun <T> Iterable<T>.last(predicate: (T) -> Boolean): T
lastIndexOf
Возвращает последний индекс element, или -1, если коллекция не содержит element.
fun <T> Iterable<T>.lastIndexOf(element: T): Int
lastOrNull
Возвращает последний элемент, или null если коллекция пуста.
fun <T> Iterable<T>.lastOrNull(): T?
Возвращает последний элемент, соответствующий заданному predicate, или null если такой элемент не найден.
fun <T> Iterable<T>.lastOrNull(predicate: (T) -> Boolean): T?
map
Возвращает список, содержащий результаты применения заданной функции transform к каждому элементу в исходной коллекции.
fun <T, R> Iterable<T>.map(transform: (T) -> R): List<R>
mapIndexed
Возвращает список, содержащий результаты применения заданной функции transform к каждому элементу и его индексу в исходной коллекции.
fun <T, R> Iterable<T>.mapIndexed( transform: (index: Int, T) -> R ): List<R>
mapIndexedNotNull
Возвращает список, содержащий только ненулевые результаты применения заданной функции transform к каждому элементу и его индексу в исходной коллекции.
fun <T, R : Any> Iterable<T>.mapIndexedNotNull( transform: (index: Int, T) -> R? ): List<R>
mapIndexedNotNullTo
Применяет заданную функцию transform к каждому элементу и его индексу в исходной коллекции и добавляет только ненулевые результаты в заданный destination.
fun <T, R : Any, C : MutableCollection<in R>> Iterable<T>.mapIndexedNotNullTo( destination: C, transform: (index: Int, T) -> R? ): C
mapIndexedTo
Применяет заданную функцию transform к каждому элементу и его индексу в исходной коллекции и добавляет результаты в заданный destination.
fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapIndexedTo( destination: C, transform: (index: Int, T) -> R ): C
mapNotNull
Возвращает список, содержащий только ненулевые результаты применения заданной функции transform к каждому элементу в исходной коллекции.
fun <T, R : Any> Iterable<T>.mapNotNull( transform: (T) -> R? ): List<R>
mapNotNullTo
Применяет заданную функцию transform к каждому элементу в исходной коллекции и добавляет только ненулевые результаты в заданный destination.
fun <T, R : Any, C : MutableCollection<in R>> Iterable<T>.mapNotNullTo( destination: C, transform: (T) -> R? ): C
mapTo
Применяет заданную функцию transform к каждому элементу исходного набора и добавляет результаты в заданное место назначения .
fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapTo( destination: C, transform: (T) -> R ): C
maxByOrNull
Возвращает первый элемент, дающий наибольшее значение заданной функции, или null если элементов нет.
fun <T, R : Comparable<R>> Iterable<T>.maxByOrNull( selector: (T) -> R ): T?
maxOf
Возвращает наибольшее значение среди всех значений, полученных в результате применения функции selector к каждому элементу в наборе.
fun <T> Iterable<T>.maxOf(selector: (T) -> Double): Double
fun <T> Iterable<T>.maxOf(selector: (T) -> Float): Float
fun <T, R : Comparable<R>> Iterable<T>.maxOf( selector: (T) -> R ): R
maxOfOrNull
Возвращает наибольшее значение среди всех значений, полученных в результате применения функции selector к каждому элементу в наборе, или null если элементов нет.
fun <T> Iterable<T>.maxOfOrNull( selector: (T) -> Double ): Double?
fun <T> Iterable<T>.maxOfOrNull( selector: (T) -> Float ): Float?
fun <T, R : Comparable<R>> Iterable<T>.maxOfOrNull( selector: (T) -> R ): R?
maxOfWith
Возвращает наибольшее значение в соответствии с предоставленным компаратором среди всех значений, полученных в результате применения функции selector к каждому элементу в наборе.
fun <T, R> Iterable<T>.maxOfWith( comparator: Comparator<in R>, selector: (T) -> R ): R
maxOfWithOrNull
Возвращает наибольшее значение в соответствии с предоставленным компаратором среди всех значений, полученных в результате применения функции selector к каждому элементу в наборе, или null если элементов нет.
fun <T, R> Iterable<T>.maxOfWithOrNull( comparator: Comparator<in R>, selector: (T) -> R ): R?
maxOrNull
Возвращает наибольший элемент или null если элементов нет.
fun Iterable<Double>.maxOrNull(): Double?
fun Iterable<Float>.maxOrNull(): Float?
fun <T : Comparable<T>> Iterable<T>.maxOrNull(): T?
maxWith
Возвращает первый элемент с наибольшим значением в соответствии с предоставленным компаратором.
fun <T> Iterable<T>.maxWith(comparator: Comparator<in T>): T
fun <T> Iterable<T>.maxWith(comparator: Comparator<in T>): T?
maxWithOrNull
Возвращает первый элемент с наибольшим значением в соответствии с предоставленным компаратором, или null если элементов нет.
fun <T> Iterable<T>.maxWithOrNull( comparator: Comparator<in T> ): T?
minByOrNull
Возвращает первый элемент, дающий наименьшее значение заданной функции, или null если элементов нет.
fun <T, R : Comparable<R>> Iterable<T>.minByOrNull( selector: (T) -> R ): T?
minOf
Возвращает наименьшее значение среди всех значений, полученных в результате применения функции selector к каждому элементу в наборе.
fun <T> Iterable<T>.minOf(selector: (T) -> Double): Double
fun <T> Iterable<T>.minOf(selector: (T) -> Float): Float
fun <T, R : Comparable<R>> Iterable<T>.minOf( selector: (T) -> R ): R
minOfOrNull
Возвращает наименьшее значение среди всех значений, полученных в результате применения функции selector к каждому элементу в наборе, или null если элементов нет.
fun <T> Iterable<T>.minOfOrNull( selector: (T) -> Double ): Double?
fun <T> Iterable<T>.minOfOrNull( selector: (T) -> Float ): Float?
fun <T, R : Comparable<R>> Iterable<T>.minOfOrNull( selector: (T) -> R ): R?
minOfWith
Возвращает наименьшее значение в соответствии с предоставленным компаратором среди всех значений, произведенных функцией selector, применённой к каждому элементу в коллекции.
fun <T, R> Iterable<T>.minOfWith( comparator: Comparator<in R>, selector: (T) -> R ): R
minOfWithOrNull
Возвращает наименьшее значение в соответствии с предоставленным компаратором среди всех значений, произведенных функцией selector, применённой к каждому элементу в коллекции, или null если элементов нет.
fun <T, R> Iterable<T>.minOfWithOrNull( comparator: Comparator<in R>, selector: (T) -> R ): R?
minOrNull
Возвращает наименьший элемент или null если элементов нет.
fun Iterable<Double>.minOrNull(): Double?
fun Iterable<Float>.minOrNull(): Float?
fun <T : Comparable<T>> Iterable<T>.minOrNull(): T?
minus
Возвращает список, содержащий все элементы исходной коллекции без первого вхождения указанного элемента.
operator fun <T> Iterable<T>.minus(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции за исключением элементов, содержащихся в заданном массиве elements.
operator fun <T> Iterable<T>.minus( elements: Array<out T> ): List<T>
Возвращает список, содержащий все элементы исходной коллекции за исключением элементов, содержащихся в заданной коллекции elements.
operator fun <T> Iterable<T>.minus( elements: Iterable<T> ): List<T>
Возвращает список, содержащий все элементы исходной коллекции за исключением элементов, содержащихся в заданной последовательности elements.
operator fun <T> Iterable<T>.minus( elements: Sequence<T> ): List<T>
minusElement
Возвращает список, содержащий все элементы исходной коллекции без первого вхождения указанного элемента.
fun <T> Iterable<T>.minusElement(element: T): List<T>
minWith
Возвращает первый элемент с наименьшим значением в соответствии с предоставленным компаратором.
fun <T> Iterable<T>.minWith(comparator: Comparator<in T>): T
fun <T> Iterable<T>.minWith(comparator: Comparator<in T>): T?
minWithOrNull
Возвращает первый элемент с наименьшим значением в соответствии с предоставленным компаратором или null если элементов нет.
fun <T> Iterable<T>.minWithOrNull( comparator: Comparator<in T> ): T?
none
Возвращает true если коллекция не имеет элементов.
fun <T> Iterable<T>.none(): Boolean
Возвращает true если ни один элемент не соответствует заданному предикату.
fun <T> Iterable<T>.none(predicate: (T) -> Boolean): Boolean
onEach
Выполняет заданное действие над каждым элементом и возвращает саму коллекцию после этого.
fun <T, C : Iterable<T>> C.onEach(action: (T) -> Unit): C
onEachIndexed
Выполняет заданное действие над каждым элементом, предоставляя последовательный индекс с элементом, и возвращает саму коллекцию после этого.
fun <T, C : Iterable<T>> C.onEachIndexed( action: (index: Int, T) -> Unit ): C
разделение
плюс
Возвращает список, содержащий все элементы исходной коллекции, а затем заданный элемент элемент.
operator fun <T> Iterable<T>.plus(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы заданного массива элементов.
operator fun <T> Iterable<T>.plus( elements: Array<out T> ): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы заданной коллекции элементов.
operator fun <T> Iterable<T>.plus( elements: Iterable<T> ): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы заданной последовательности элементов.
operator fun <T> Iterable<T>.plus( elements: Sequence<T> ): List<T>
добавитьЭлемент
Возвращает список, содержащий все элементы исходной коллекции, а затем заданный элемент элемент.
fun <T> Iterable<T>.plusElement(element: T): List<T>
reduce
Накапливает значение, начиная с первого элемента и применяя операцию слева направо к текущему значению накопителя и каждому элементу.
fun <S, T : S> Iterable<T>.reduce( operation: (acc: S, T) -> S ): S
reduceIndexed
Накапливает значение, начиная с первого элемента и применяя операцию слева направо к текущему значению накопителя и каждому элементу с его индексом в исходной коллекции.
fun <S, T : S> Iterable<T>.reduceIndexed( operation: (index: Int, acc: S, T) -> S ): S
reduceIndexedOrNull
Накапливает значение, начиная с первого элемента и применяя операцию слева направо к текущему значению накопителя и каждому элементу с его индексом в исходной коллекции.
fun <S, T : S> Iterable<T>.reduceIndexedOrNull( operation: (index: Int, acc: S, T) -> S ): S?
reduceOrNull
Накапливает значение, начиная с первого элемента и применяя операцию слева направо к текущему значению накопителя и каждому элементу.
fun <S, T : S> Iterable<T>.reduceOrNull( operation: (acc: S, T) -> S ): S?
requireNoNulls
Возвращает исходную коллекцию, содержащую все элементы, которые не являются null, выбросив исключение IllegalArgumentException, если есть какие-либо null элементы.
fun <T : Any> Iterable<T?>.requireNoNulls(): Iterable<T>
обратный
Возвращает список с элементами в обратном порядке.
fun <T> Iterable<T>.reversed(): List<T>
последовательноеСворачивание
Возвращает список, содержащий последовательные значения накопления, сгенерированные применением операции слева направо к каждому элементу и текущему значению накопителя, которое начинается со значения начального.
fun <T, R> Iterable<T>.runningFold( initial: R, operation: (acc: R, T) -> R ): List<R>
последовательноеСворачиваниеИндексированное
Возвращает список, содержащий последовательные значения накопления, сгенерированные применением операции слева направо к каждому элементу, его индексу в исходной коллекции и текущему значению накопителя, которое начинается со значения начального.
fun <T, R> Iterable<T>.runningFoldIndexed( initial: R, operation: (index: Int, acc: R, T) -> R ): List<R>
runningReduce
Возвращает список, содержащий последовательные значения накопления, полученные путём применения операции слева направо к каждому элементу и текущему значению накопителя, начинающемуся с первого элемента этого набора.
fun <S, T : S> Iterable<T>.runningReduce( operation: (acc: S, T) -> S ): List<S>
runningReduceIndexed
Возвращает список, содержащий последовательные значения накопления, полученные путём применения операции слева направо к каждому элементу, его индексу в исходном наборе и текущему значению накопителя, начинающемуся с первого элемента этого набора.
fun <S, T : S> Iterable<T>.runningReduceIndexed( operation: (index: Int, acc: S, T) -> S ): List<S>
scan
scanIndexed
Возвращает список, содержащий последовательные значения накопления, полученные путём применения операции слева направо к каждому элементу, его индексу в исходном наборе и текущему значению накопителя, начинающемуся со значения initial.
fun <T, R> Iterable<T>.scanIndexed( initial: R, operation: (index: Int, acc: R, T) -> R ): List<R>
shuffled
Возвращает новый список с элементами этого списка, перемешанными случайным образом, используя указанный генератор случайных чисел в качестве источника случайности.
fun <T> Iterable<T>.shuffled(random: Random): List<T>
fun <T> Iterable<T>.shuffled(random: Random): List<T>
single
Возвращает единственный элемент или вызывает исключение, если набор пуст или содержит более одного элемента.
fun <T> Iterable<T>.single(): T
Возвращает единственный элемент, соответствующий заданному предикату, или вызывает исключение, если соответствующих элементов нет или их больше одного.
fun <T> Iterable<T>.single(predicate: (T) -> Boolean): T
singleOrNull
Возвращает единственный элемент или null если набор пуст или содержит более одного элемента.
fun <T> Iterable<T>.singleOrNull(): T?
Возвращает единственный элемент, соответствующий заданному предикату, или null если элемент не найден или найдено более одного элемента.
fun <T> Iterable<T>.singleOrNull( predicate: (T) -> Boolean ): T?
sorted
Возвращает список всех элементов, отсортированных по их естественному порядку сортировки.
fun <T : Comparable<T>> Iterable<T>.sorted(): List<T>
sortedBy
Возвращает список всех элементов, отсортированных по естественному порядку сортировки значения, возвращаемого указанной функцией selector.
fun <T, R : Comparable<R>> Iterable<T>.sortedBy( selector: (T) -> R? ): List<T>
sortedByDescending
Возвращает список всех элементов, отсортированных в порядке убывания по естественному порядку сортировки значения, возвращаемого указанной функцией selector.
fun <T, R : Comparable<R>> Iterable<T>.sortedByDescending( selector: (T) -> R? ): List<T>
sortedDescending
Возвращает список всех элементов, отсортированных в порядке убывания по их естественному порядку сортировки.
fun <T : Comparable<T>> Iterable<T>.sortedDescending(): List<T>
sortedWith
Возвращает список всех элементов, отсортированных в соответствии с указанным компаратором.
fun <T> Iterable<T>.sortedWith( comparator: Comparator<in T> ): List<T>
subtract
Возвращает набор, содержащий все элементы, которые содержатся в этом наборе, но не содержатся в указанном наборе.
infix fun <T> Iterable<T>.subtract( other: Iterable<T> ): Set<T>
sum
Возвращает сумму всех элементов в коллекции.
fun Iterable<Byte>.sum(): Int
fun Iterable<Short>.sum(): Int
fun Iterable<Int>.sum(): Int
fun Iterable<Long>.sum(): Long
fun Iterable<Float>.sum(): Float
fun Iterable<Double>.sum(): Double
fun Iterable<UInt>.sum(): UInt
fun Iterable<ULong>.sum(): ULong
fun Iterable<UByte>.sum(): UInt
fun Iterable<UShort>.sum(): UInt
sumBy
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу в коллекции.
fun <T> Iterable<T>.sumBy(selector: (T) -> Int): Int
sumByDouble
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу в коллекции.
fun <T> Iterable<T>.sumByDouble( selector: (T) -> Double ): Double
sumOf
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу в коллекции.
fun <T> Iterable<T>.sumOf(selector: (T) -> Double): Double
fun <T> Iterable<T>.sumOf(selector: (T) -> Int): Int
fun <T> Iterable<T>.sumOf(selector: (T) -> Long): Long
fun <T> Iterable<T>.sumOf(selector: (T) -> UInt): UInt
fun <T> Iterable<T>.sumOf(selector: (T) -> ULong): ULong
fun <T> Iterable<T>.sumOf( selector: (T) -> BigDecimal ): BigDecimal
fun <T> Iterable<T>.sumOf( selector: (T) -> BigInteger ): BigInteger
take
Возвращает список, содержащий первые n элементов.
fun <T> Iterable<T>.take(n: Int): List<T>
takeWhile
Возвращает список, содержащий первые элементы, удовлетворяющие заданному предикату.
fun <T> Iterable<T>.takeWhile( predicate: (T) -> Boolean ): List<T>
toCollection
Добавляет все элементы в заданную коллекцию destination.
fun <T, C : MutableCollection<in T>> Iterable<T>.toCollection( destination: C ): C
toHashSet
Возвращает новый HashSet всех элементов.
fun <T> Iterable<T>.toHashSet(): HashSet<T>
toList
Возвращает список, содержащий все элементы.
fun <T> Iterable<T>.toList(): List<T>
toMap
Возвращает новую карту, содержащую все пары ключ-значение из заданной коллекции пар.
fun <K, V> Iterable<Pair<K, V>>.toMap(): Map<K, V>
Заполняет и возвращает изменяемую карту destination парами ключ-значение из заданной коллекции пар.
fun <K, V, M : MutableMap<in K, in V>> Iterable<Pair<K, V>>.toMap( destination: M ): M
toMutableList
Возвращает новый MutableList, заполненный всеми элементами этой коллекции.
fun <T> Iterable<T>.toMutableList(): MutableList<T>
toMutableSet
Возвращает новый MutableSet, содержащий все уникальные элементы из заданной коллекции.
fun <T> Iterable<T>.toMutableSet(): MutableSet<T>
toSet
Возвращает множество всех элементов.
fun <T> Iterable<T>.toSet(): Set<T>
toSortedSet
Возвращает новый SortedSet всех элементов.
fun <T : Comparable<T>> Iterable<T>.toSortedSet(): SortedSet<T>
fun <T> Iterable<T>.toSortedSet( comparator: Comparator<in T> ): SortedSet<T>
union
Возвращает множество, содержащее все различные элементы из обоих коллекций.
infix fun <T> Iterable<T>.union(other: Iterable<T>): Set<T>
unzip
Возвращает пару списков, где список first составлен из первых элементов каждой пары из этой коллекции, а список second — из вторых элементов каждой пары.
fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>
windowed
Возвращает список снимков окна заданного размера, скользящего по этой коллекции с заданным шагом, где каждый снимок — это список.
fun <T> Iterable<T>.windowed( size: Int, step: Int = 1, partialWindows: Boolean = false ): List<List<T>>
Возвращает список результатов применения заданной функции преобразования к каждому списку, представляющему собой представление окна заданного размера, скользящего по этой коллекции с заданным шагом.
fun <T, R> Iterable<T>.windowed( size: Int, step: Int = 1, partialWindows: Boolean = false, transform: (List<T>) -> R ): List<R>
withIndex
Возвращает ленивый Iterable, который оборачивает каждый элемент исходной коллекции в IndexedValue, содержащий индекс этого элемента и сам элемент.
fun <T> Iterable<T>.withIndex(): Iterable<IndexedValue<T>>
zip
Возвращает список пар, созданных из элементов коллекции this и массива other с тем же индексом. Возвращаемый список имеет длину наименьшей коллекции.
infix fun <T, R> Iterable<T>.zip( other: Array<out R> ): List<Pair<T, R>>
Возвращает список значений, созданных из элементов коллекции this и массива other с тем же индексом, используя предоставленную функцию преобразования, применённую к каждой паре элементов. Возвращаемый список имеет длину наименьшей коллекции.
fun <T, R, V> Iterable<T>.zip( other: Array<out R>, transform: (a: T, b: R) -> V ): List<V>
Возвращает список пар, созданных из элементов коллекции this и коллекции other с тем же индексом. Возвращаемый список имеет длину наименьшей коллекции.
infix fun <T, R> Iterable<T>.zip( other: Iterable<R> ): List<Pair<T, R>>
Возвращает список значений, созданных из элементов коллекции this и коллекции other с тем же индексом, используя предоставленную функцию преобразования, применённую к каждой паре элементов. Возвращаемый список имеет длину наименьшей коллекции.
fun <T, R, V> Iterable<T>.zip( other: Iterable<R>, transform: (a: T, b: R) -> V ): List<V>
zipWithNext
Возвращает список пар двух смежных элементов в этой коллекции.
fun <T> Iterable<T>.zipWithNext(): List<Pair<T, T>>
Возвращает список, содержащий результаты применения заданной функции преобразования к каждой паре двух смежных элементов в этой коллекции.
fun <T, R> Iterable<T>.zipWithNext( transform: (a: T, b: T) -> R ): List<R>
Наследующие классы
CharProgression
Последовательность значений типа Char.
open class CharProgression : Iterable<Char>
Collection
Обобщённое множество элементов. Методы в этом интерфейсе поддерживают только чтение элементов множества; чтение/запись поддерживается через интерфейс MutableCollection.
interface Collection<out E> : Iterable<E>
IntProgression
Последовательность значений типа Int.
open class IntProgression : Iterable<Int>
LongProgression
Последовательность значений типа Long.
open class LongProgression : Iterable<Long>
MutableIterable
Классы, унаследованные от этого интерфейса, могут быть представлены как последовательность элементов, по которым можно выполнить итерацию и которые поддерживают удаление элементов во время итерации.
interface MutableIterable<out T> : Iterable<T>
UIntProgression
Последовательность значений типа UInt.
open class UIntProgression : Iterable<UInt>
ULongProgression
Последовательность значений типа ULong.
open class ULongProgression : Iterable<ULong>
© 2010–2022 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.collections/-iterable/