Коллекция
interface Collection<out E> : Iterable<E>
Обобщенная коллекция элементов. Методы в этом интерфейсе поддерживают только чтение из коллекции; чтение/запись поддерживается через интерфейс MutableCollection.
Параметры
E - тип элементов, содержащихся в коллекции. Коллекция является ковариантной по типу своего элемента.
Свойства
размер
Возвращает размер коллекции.
abstract val size: Int
Функции
содержит
Проверяет, содержит ли эта коллекция указанный элемент.
abstract operator fun contains(element: E): Boolean
содержит все
Проверяет, содержатся ли все элементы в указанной коллекции в этой коллекции.
abstract fun containsAll(elements: Collection<E>): Boolean
пустая
Возвращает true если коллекция пуста (не содержит элементов), false в противном случае.
abstract fun isEmpty(): Boolean
итератор
Возвращает итератор по элементам этого объекта.
abstract fun iterator(): Iterator<E>
Расширяемые свойства
Расширяемые функции
все
Возвращает 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
associateBy
Возвращает Map, содержащий элементы из данной коллекции, индексированные по ключу, возвращаемому функцией keySelector, применённой к каждому элементу.
fun <T, K> Iterable<T>.associateBy( keySelector: (T) -> K ): Map<K, T>
Возвращает Map, содержащий значения, предоставленные функцией valueTransform, индексированные по функциям keySelector, применённым к элементам данной коллекции.
fun <T, K, V> Iterable<T>.associateBy( keySelector: (T) -> K, valueTransform: (T) -> V ): Map<K, V>
associateByTo
Заполняет и возвращает изменяемый словарь парами ключ-значение, где ключ предоставляется функцией keySelector, применённой к каждому элементу данной коллекции, а значением является сам элемент.
fun <T, K, M : MutableMap<in K, in T>> Iterable<T>.associateByTo( destination: M, keySelector: (T) -> K ): M
Заполняет и возвращает изменяемый словарь парами ключ-значение, где ключ предоставляется функцией keySelector, а значение предоставляется функцией valueTransform, применённой к элементам данной коллекции.
fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateByTo( destination: M, keySelector: (T) -> K, valueTransform: (T) -> V ): M
associateTo
associateWith
Возвращает Map, где ключами являются элементы из данной коллекции, а значениями — результаты применения функции valueSelector к каждому элементу.
fun <K, V> Iterable<K>.associateWith( valueSelector: (K) -> V ): Map<K, V>
associateWithTo
Заполняет и возвращает изменяемый словарь парами «ключ-значение» для каждого элемента заданного набора, где ключ — сам элемент, а значение — результат применения функции valueSelector к этому ключу.
fun <K, V, M : MutableMap<in K, in V>> Iterable<K>.associateWithTo( destination: M, valueSelector: (K) -> V ): M
chunked
Разбивает этот набор на список подсписков, каждый из которых не превышает заданного размера.
fun <T> Iterable<T>.chunked(size: Int): List<List<T>>
contains
Возвращает true , если элемент element найден в наборе.
operator fun <T> Iterable<T>.contains(element: T): Boolean
containsAll
Проверяет, содержатся ли все элементы указанного набора в этом наборе.
fun <T> Collection<T>.containsAll( elements: Collection<T> ): Boolean
count
Возвращает количество элементов в этом наборе.
fun <T> Collection<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
Возвращает элемент по заданному индексу или результат вызова функции defaultValue, если индекс находится вне границ этого набора.
fun <T> Iterable<T>.elementAtOrElse( index: Int, defaultValue: (Int) -> T ): T
elementAtOrNull
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 значения.
null firstOrNull
Возвращает первый элемент или null, если набор пуст.
null Возвращает первый элемент, удовлетворяющий заданному предикату, или null, если элемент не найден.
null 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, вызываемой для каждого элемента и его индекса в исходном наборе, в заданное назначение.
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, вызываемой для каждого элемента исходного набора, в заданное назначение.
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>
isNotEmpty
Возвращает true , если набор не пуст.
fun <T> Collection<T>.isNotEmpty(): Boolean
isNullOrEmpty
Возвращает true , если этот необязательный набор либо равен null, либо пуст.
fun <T> Collection<T>?.isNullOrEmpty(): Boolean
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
Создаёт строку из всех элементов, разделяя их с помощью разделителя и используя заданные префикс и постфикс, если они указаны.
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
Возвращает последний элемент, соответствующий заданному предикату.
fun <T> Iterable<T>.last(predicate: (T) -> Boolean): T
lastIndexOf
Возвращает последний индекс элемента, или -1, если элемент в коллекции отсутствует.
fun <T> Iterable<T>.lastIndexOf(element: T): Int
lastOrNull
Возвращает последний элемент, или null если коллекция пуста.
fun <T> Iterable<T>.lastOrNull(): T?
Возвращает последний элемент, соответствующий заданному предикату, или null если такой элемент не найден.
fun <T> Iterable<T>.lastOrNull(predicate: (T) -> Boolean): T?
map
Возвращает список, содержащий результаты применения заданной функции преобразования к каждому элементу в исходной коллекции.
fun <T, R> Iterable<T>.map(transform: (T) -> R): List<R>
mapIndexed
Возвращает список, содержащий результаты применения заданной функции преобразования к каждому элементу и его индексу в исходной коллекции.
fun <T, R> Iterable<T>.mapIndexed( transform: (index: Int, T) -> R ): List<R>
mapIndexedNotNull
Возвращает список, содержащий только непустые результаты применения заданной функции преобразования к каждому элементу и его индексу в исходной коллекции.
fun <T, R : Any> Iterable<T>.mapIndexedNotNull( transform: (index: Int, T) -> R? ): List<R>
mapIndexedNotNullTo
Применяет заданную функцию преобразования к каждому элементу и его индексу в исходной коллекции и добавляет только непустые результаты в заданное место назначения.
fun <T, R : Any, C : MutableCollection<in R>> Iterable<T>.mapIndexedNotNullTo( destination: C, transform: (index: Int, T) -> R? ): C
mapIndexedTo
Применяет заданную функцию преобразования к каждому элементу и его индексу в исходной коллекции и добавляет результаты в заданное место назначения.
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 к каждому элементу исходного набора и добавляет только непустые результаты в заданное место назначения .
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?
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?
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
orEmpty
Возвращает эту коллекцию, если она не null , и пустой список в противном случае.
fun <T> Collection<T>?.orEmpty(): Collection<T>
разделение
плюс
Возвращает список, содержащий все элементы исходной коллекции, а затем заданный элемент.
operator fun <T> Collection<T>.plus(element: T): List<T>
operator fun <T> Iterable<T>.plus(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы заданного массива элементов.
operator fun <T> Collection<T>.plus( elements: Array<out T> ): List<T>
operator fun <T> Iterable<T>.plus( elements: Array<out T> ): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы заданной коллекции элементов.
operator fun <T> Collection<T>.plus( elements: Iterable<T> ): List<T>
operator fun <T> Iterable<T>.plus( elements: Iterable<T> ): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы заданной последовательности элементов.
operator fun <T> Collection<T>.plus( elements: Sequence<T> ): List<T>
operator fun <T> Iterable<T>.plus( elements: Sequence<T> ): List<T>
добавить элемент
Возвращает список, содержащий все элементы исходной коллекции, а затем заданный элемент.
fun <T> Collection<T>.plusElement(element: T): List<T>
fun <T> Iterable<T>.plusElement(element: T): List<T>
случайный
Возвращает случайный элемент из этой коллекции.
fun <T> Collection<T>.random(): T
Возвращает случайный элемент из этой коллекции, используя указанный источник случайности.
fun <T> Collection<T>.random(random: Random): T
случайный или null
Возвращает случайный элемент из этой коллекции или null если эта коллекция пуста.
fun <T> Collection<T>.randomOrNull(): T?
Возвращает случайный элемент из этой коллекции, используя указанный источник случайности, или null если эта коллекция пуста.
fun <T> Collection<T>.randomOrNull(random: Random): T?
свести
Накапливает значение, начиная с первого элемента и применяя операцию слева направо к текущему значению аккумулятора и каждому элементу.
fun <S, T : S> Iterable<T>.reduce( operation: (acc: S, T) -> S ): S
свести с индексом
Накапливает значение, начиная с первого элемента и применяя операцию слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной коллекции.
fun <S, T : S> Iterable<T>.reduceIndexed( operation: (index: Int, acc: S, T) -> S ): S
свести с индексом или null
Накапливает значение, начиная с первого элемента и применяя операцию слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной коллекции.
fun <S, T : S> Iterable<T>.reduceIndexedOrNull( operation: (index: Int, acc: S, T) -> S ): S?
свести или null
Накапливает значение, начиная с первого элемента и применяя операцию слева направо к текущему значению аккумулятора и каждому элементу.
fun <S, T : S> Iterable<T>.reduceOrNull( operation: (acc: S, T) -> S ): S?
требовать отсутствие null
Возвращает исходную коллекцию, содержащую все элементы, отличные от null, вызывая исключение IllegalArgumentException, если есть какие-либо null элементы.
fun <T : Any> Iterable<T?>.requireNoNulls(): Iterable<T>
обратный
Возвращает список с элементами в обратном порядке.
fun <T> Iterable<T>.reversed(): List<T>
runningFold
Возвращает список, содержащий последовательные значения накопления, полученные путем применения операции слева направо к каждому элементу и текущему значению аккумулятора, которое начинается со значения начального значения.
fun <T, R> Iterable<T>.runningFold( initial: R, operation: (acc: R, T) -> R ): List<R>
runningFoldIndexed
Возвращает список, содержащий последовательные значения накопления, полученные путем применения операции слева направо к каждому элементу, его индексу в исходном списке и текущему значению аккумулятора, которое начинается со значения начального значения.
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
Возвращает список, содержащий последовательные значения накопления, полученные путем применения операции слева направо к каждому элементу и текущему значению аккумулятора, которое начинается со значения начального значения.
fun <T, R> Iterable<T>.scan( initial: R, operation: (acc: R, T) -> R ): List<R>
scanIndexed
Возвращает список, содержащий последовательные значения накопления, полученные путем применения операции слева направо к каждому элементу, его индексу в исходном списке и текущему значению аккумулятора, которое начинается со значения начального значения.
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?
sortedBy
Возвращает список всех элементов, отсортированных в соответствии с естественным порядком сортировки значения, возвращаемого указанной функцией выборки.
fun <T, R : Comparable<R>> Iterable<T>.sortedBy( selector: (T) -> R? ): List<T>
sortedByDescending
Возвращает список всех элементов, отсортированных в порядке убывания по естественному порядку сортировки значения, возвращаемого указанной функцией выборки.
fun <T, R : Comparable<R>> Iterable<T>.sortedByDescending( selector: (T) -> R? ): List<T>
sortedWith
Возвращает список всех элементов, отсортированных в соответствии с указанным comparator.
fun <T> Iterable<T>.sortedWith( comparator: Comparator<in T> ): List<T>
subtract
Возвращает множество, содержащее все элементы, которые содержатся в этом наборе и не содержатся в указанном наборе.
infix fun <T> Iterable<T>.subtract( other: Iterable<T> ): Set<T>
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
Возвращает список, содержащий первые элементы, удовлетворяющие заданному predicate.
fun <T> Iterable<T>.takeWhile( predicate: (T) -> Boolean ): List<T>
toBooleanArray
Возвращает массив Boolean, содержащий все элементы этой коллекции.
fun Collection<Boolean>.toBooleanArray(): BooleanArray
toByteArray
Возвращает массив Byte, содержащий все элементы этой коллекции.
fun Collection<Byte>.toByteArray(): ByteArray
toCharArray
Возвращает массив Char, содержащий все элементы этой коллекции.
fun Collection<Char>.toCharArray(): CharArray
toCollection
Добавляет все элементы в указанную коллекцию destination.
fun <T, C : MutableCollection<in T>> Iterable<T>.toCollection( destination: C ): C
toDoubleArray
Возвращает массив Double, содержащий все элементы этой коллекции.
fun Collection<Double>.toDoubleArray(): DoubleArray
toFloatArray
Возвращает массив Float, содержащий все элементы этой коллекции.
fun Collection<Float>.toFloatArray(): FloatArray
toHashSet
Возвращает новый HashSet всех элементов.
fun <T> Iterable<T>.toHashSet(): HashSet<T>
toIntArray
Возвращает массив Int, содержащий все элементы этой коллекции.
fun Collection<Int>.toIntArray(): IntArray
toLongArray
Возвращает массив Long, содержащий все элементы этой коллекции.
fun Collection<Long>.toLongArray(): LongArray
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> Collection<T>.toMutableList(): MutableList<T>
toMutableSet
Возвращает новый MutableSet, содержащий все различные элементы из данной коллекции.
fun <T> Iterable<T>.toMutableSet(): MutableSet<T>
toSet
Возвращает Set всех элементов.
fun <T> Iterable<T>.toSet(): Set<T>
toShortArray
Возвращает массив Short, содержащий все элементы этой коллекции.
fun Collection<Short>.toShortArray(): ShortArray
toSortedSet
Возвращает новый SortedSet всех элементов.
fun <T> Iterable<T>.toSortedSet( comparator: Comparator<in T> ): SortedSet<T>
toUByteArray
Возвращает массив UByte, содержащий все элементы этой коллекции.
fun Collection<UByte>.toUByteArray(): UByteArray
toUIntArray
Возвращает массив UInt, содержащий все элементы этой коллекции.
fun Collection<UInt>.toUIntArray(): UIntArray
toULongArray
Возвращает массив ULong, содержащий все элементы этой коллекции.
fun Collection<ULong>.toULongArray(): ULongArray
toUShortArray
Возвращает массив UShort, содержащий все элементы этой коллекции.
fun Collection<UShort>.toUShortArray(): UShortArray
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>>
waitForMultipleFutures
fun <T> Collection<Future<T>>.waitForMultipleFutures( millis: Int ): Set<Future<T>>
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>
Наследники
AbstractCollection
Предоставляет скелетную реализацию интерфейса только для чтения Collection.
abstract class AbstractCollection<out E> : Collection<E>
List
Обобщенная упорядоченная коллекция элементов. Методы в этом интерфейсе поддерживают только чтение списка; чтение/запись поддерживается через интерфейс MutableList.
interface List<out E> : Collection<E>
MatchGroupCollection
Представляет коллекцию захваченных групп в одном совпадении регулярного выражения.
interface MatchGroupCollection : Collection<MatchGroup?>
MutableCollection
Обобщенная коллекция элементов, поддерживающая добавление и удаление элементов.
interface MutableCollection<E> : Collection<E>, MutableIterable<E>
Set
Обобщенная неупорядоченная коллекция элементов, не поддерживающая дубликаты элементов. Методы в этом интерфейсе поддерживают только чтение множества; чтение/запись поддерживается через интерфейс MutableSet.
interface Set<out E> : Collection<E>
UByteArray
class UByteArray : Collection<UByte>
UIntArray
class UIntArray : Collection<UInt>
ULongArray
class ULongArray : Collection<ULong>
UShortArray
class UShortArray : Collection<UShort>
© 2010–2023 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/-collection/index.html