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
Возвращает первый элемент, соответствующий заданному предикату, или null если такой элемент не найден.
fun <T> Iterable<T>.find(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
Возвращает первый индекс элемента или -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
Добавляет строку из всех элементов, разделенных с помощью разделителя и используя заданные префикс и постфикс, если указаны.
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, если коллекция не содержит элемент.
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
Применяет заданную функцию преобразования к каждому элементу исходного набора и добавляет результаты в заданное значение назначения.
fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapTo( destination: C, transform: (T) -> R ): C
max
fun Iterable<Double>.max(): Double?
fun Iterable<Float>.max(): Float?
fun <T : Comparable<T>> Iterable<T>.max(): T?
maxBy
fun <T, R : Comparable<R>> Iterable<T>.maxBy( selector: (T) -> R ): T?
maxByOrNull
Возвращает первый элемент, дающий наибольшее значение заданной функции, или null если элементов нет.
fun <T, R : Comparable<R>> Iterable<T>.maxByOrNull( selector: (T) -> R ): T?
maxOf
Возвращает наибольшее значение среди всех значений, полученных функцией выбора, применённой к каждому элементу в наборе.
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
Возвращает наибольшее значение среди всех значений, полученных функцией выбора, применённой к каждому элементу в наборе, или 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
Возвращает наибольшее значение согласно предоставленному компаратору среди всех значений, полученных функцией выбора, применённой к каждому элементу в наборе.
fun <T, R> Iterable<T>.maxOfWith( comparator: Comparator<in R>, selector: (T) -> R ): R
maxOfWithOrNull
Возвращает наибольшее значение согласно предоставленному компаратору среди всех значений, полученных функцией выбора, применённой к каждому элементу в наборе, или 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?
maxWithOrNull
Возвращает первый элемент с наибольшим значением согласно предоставленному компаратору, или null если элементов нет.
fun <T> Iterable<T>.maxWithOrNull( comparator: Comparator<in T> ): T?
min
fun Iterable<Double>.min(): Double?
fun Iterable<Float>.min(): Float?
fun <T : Comparable<T>> Iterable<T>.min(): T?
minBy
fun <T, R : Comparable<R>> Iterable<T>.minBy( selector: (T) -> R ): 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?
minWithOrNull
Возвращает первый элемент с наименьшим значением согласно предоставленному компаратору или null , если элементов нет.
fun <T> Iterable<T>.minWithOrNull( comparator: Comparator<in T> ): T?
onEachIndexed
Выполняет заданное действие для каждого элемента, предоставляя порядковый индекс с элементом, и возвращает саму коллекцию после этого.
fun <T, C : Iterable<T>> C.onEachIndexed( action: (index: Int, T) -> Unit ): C
partition
plus
Возвращает список, содержащий все элементы исходной коллекции, а затем заданный элемент.
operator fun <T> Iterable<T>.plus(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы заданного массива elements.
operator fun <T> Iterable<T>.plus( elements: Array<out T> ): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы заданной коллекции elements.
operator fun <T> Iterable<T>.plus( elements: Iterable<T> ): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы заданной последовательности elements.
operator fun <T> Iterable<T>.plus( elements: Sequence<T> ): List<T>
plusElement
Возвращает список, содержащий все элементы исходной коллекции, а затем заданный элемент.
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>
reversed
Возвращает список с элементами в обратном порядке.
fun <T> Iterable<T>.reversed(): List<T>
runningFold
runningFoldIndexed
Возвращает список, содержащий последовательные накопительные значения, полученные путём применения операции слева направо к каждому элементу, его индексу в исходном списке и текущему накопительному значению, которое начинается со значения initial.
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
Добавляет все элементы в заданную коллекцию назначения.
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>
Заполняет и возвращает изменяемую карту парами ключ-значение из заданной коллекции пар.
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
Возвращает Set всех элементов.
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
Возвращает пару списков: первый список создан из первых значений каждой пары из этого набора, второй — из вторых значений каждой пары.
fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>
windowed
Возвращает список фрагментов окна заданного размера size, скользящего вдоль этого набора с заданным шагом step, где каждый фрагмент — список.
fun <T> Iterable<T>.windowed( size: Int, step: Int = 1, partialWindows: Boolean = false ): List<List<T>>
Возвращает список результатов применения заданной функции преобразования transform к каждому списку, представляющему фрагмент окна заданного размера size, скользящего вдоль этого набора с заданным шагом step.
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 с тем же индексом с использованием предоставленной функции преобразования transform, применённой к каждой паре элементов. Возвращаемый список имеет длину самого короткого набора.
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 с тем же индексом с использованием предоставленной функции преобразования transform, применённой к каждой паре элементов. Возвращаемый список имеет длину самого короткого набора.
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>>
Возвращает список, содержащий результаты применения заданной функции преобразования transform к каждой паре из двух смежных элементов этого набора.
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/