Trait scala.collection.Iterator
Итераторы — это структуры данных, позволяющие перебирать последовательность элементов. Они имеют метод hasNext для проверки наличия следующего элемента и метод next, который возвращает следующий элемент и продвигает итератор.
Итератор является изменяемым: большинство операций над ним изменяют его состояние. Хотя он часто используется для перебора элементов коллекции, он также может использоваться без поддержки какой-либо коллекции (см. конструкторы в объекте-компаньоне).
Важно отметить, что, если не указано иное, итератор не следует использовать после вызова метода. Два наиболее важных исключения — это единственные абстрактные методы: next и hasNext.
Оба эти метода можно вызывать любое количество раз, не выбрасывая итератор. Обратите внимание, что даже hasNext может вызвать изменение состояния, например, при итерации из входного потока, где он будет ожидать закрытия потока или появления входных данных.
Рассмотрим этот пример безопасного и небезопасного использования:
def f[A](it: Iterator[A]) = {
if (it.hasNext) { // Safe to reuse "it" after "hasNext"
it.next() // Safe to reuse "it" after "next"
val remainder = it.drop(2) // it is *not* safe to use "it" again after this line!
remainder.take(2) // it is *not* safe to use "remainder" after this line!
} else it
}
| Надтипы | |
|---|---|
| Известные подтипы | |
| Тип самого себя |
Классы
Исходный код
Класс GroupedIterator[B >: A](self: Iterator[B], size: Int, step: Int) extends AbstractIterator[Seq[B]]
Гибкий итератор для преобразования Iterator[A] в Iterator[Seq[A]] с настраиваемым размером последовательности, шагом и стратегией обработки элементов, которые не подходят равномерно.
Типичные применения могут быть реализованы с помощью методов grouped и sliding.
Абстрактные методы
Исходный код
Проверяет наличие следующего элемента.
| Возвращает |
|
|---|---|
| Примечание | Повторное использование: итератор остается валидным для дальнейшего использования независимо от возвращаемого результата. |
Исходный код@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def next(): A
Возвращает следующий элемент и продвигает итератор.
| Возвращает | следующий элемент. |
|---|---|
| Выбрасывает |
|
| Примечание | Повторное использование: продвигает итератор, что может привести к истощению элементов. Допускается вызывать дополнительные методы итератора. |
Конкретные методы
Исходный код@inline
Исходный код
def buffered: BufferedIterator[A]
Создает буферизованный итератор из данного итератора.
| Возвращает | буферизованный итератор, генерирующий те же значения, что и данный итератор. |
|---|---|
| См. также | |
| Примечание | Повторное использование: после вызова этого метода следует удалить исходный итератор и использовать только возвращенный итератор. Использование старого итератора является неопределенным, может быть изменено и может привести к изменениям в новом итераторе. |
Исходный код
Исходный код
Исходный код
Проверяет, содержит ли этот итератор заданное значение в качестве элемента.
Примечание: может не завершаться для бесконечных итераторов.
| Параметры |
|
|---|---|
| Возвращает |
|
| Примечание | Повторное использование: после вызова этого метода следует удалить исходный итератор. Использование итератора является неопределенным и может быть изменено. |
Исходный код
Создает новый итератор из данного, без дублирующихся элементов.
| Возвращает | итератор с уникальными элементами |
|---|---|
| Примечание | Повторное использование: после вызова этого метода следует удалить исходный итератор. Использование итератора является неопределенным и может быть изменено. |
Исходный код
def distinctBy[B](f: A => B): Iterator[A]
Создает новый итератор из данного, без дублирующихся элементов, как определено == после применения преобразования f.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | итератор с уникальными элементами |
| Примечание | Повторное использование: после вызова этого метода следует удалить исходный итератор. Использование итератора является неопределенным и может быть изменено. |
Исходный код
Исходный код
Исходный код
Создает два новых итератора, которые оба перебирают те же элементы, что и этот итератор (в том же порядке). Дубликаты итераторов считаются равными, если они находятся на одном и том же элементе.
Учитывая, что большинство методов итераторов сделают исходный итератор непригодным для дальнейшего использования, этот метод предоставляет надёжный способ вызова нескольких таких методов над итератором.
| Возвращаемое значение | пара итераторов |
|---|---|
| Примечание |
Реализация может выделять временное хранилище для элементов, перебираемых одним итератором, но ещё не перебираемых другим. Переиспользование: после вызова этого метода следует удалить вызываемый итератор и использовать только возвращенные итераторы. Использование старого итератора неопределенно, может быть изменено и может привести к изменениям в новых итераторах тоже. |
Источник
Источник
Источник
Источник
Источник
Возвращает итератор, который группирует этот итератор в блоки фиксированного размера. Примеры использования:
// Returns List(List(1, 2, 3), List(4, 5, 6), List(7))) (1 to 7).iterator.grouped(3).toList // Returns List(List(1, 2, 3), List(4, 5, 6)) (1 to 7).iterator.grouped(3).withPartial(false).toList // Returns List(List(1, 2, 3), List(4, 5, 6), List(7, 20, 25) // Illustrating that withPadding's argument is by-name. val it2 = Iterator.iterate(20)(_ + 5) (1 to 7).iterator.grouped(3).withPadding(it2.next).toList
| Примечание | Переиспользование: после вызова этого метода следует удалить вызываемый итератор и использовать только возвращенный итератор. Использование старого итератора неопределенно, может быть изменено и может привести к изменениям в новом итераторе тоже. |
|---|
Источник
Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте.
Примечание: может не завершаться для бесконечных итераторов.
| Параметры |
|
|---|---|
| Возвращаемое значение | индекс первого вхождения |
| Примечание | Переиспользование: после вызова этого метода следует удалить вызываемый итератор. Его использование неопределенно и может быть изменено. |
Источник
Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте после или на некотором стартовом индексе.
Примечание: может не завершаться для бесконечных итераторов.
| Параметры |
|
|---|---|
| Возвращаемое значение | индекс |
| Примечание | Переиспользование: после вызова этого метода следует удалить вызываемый итератор. Его использование неопределенно и может быть изменено. |
Источник
Источник@deprecatedOverriding("isEmpty is defined as !hasNext; override hasNext instead", "2.13.0")
| Классы-определения | IterableOnceOps |
|---|
Источник@inline
Источник@inline
Источник
Источник
def nextOption(): Option[A]
Оборачивает значение next() в опцию.
| Возвращаемое значение |
|
|---|
Источник
Копия этого итератора с добавленным значением элемента до тех пор, пока не будет достигнута заданная целевая длина.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращаемое значение | новый итератор, состоящий из всех элементов этого итератора, за которым следуют минимальное количество вхождений |
Источник
Разделяет этот итератор на два итератора в соответствии с предикатом.
| Параметры |
|
|---|---|
| Возвращаемое значение | пара итераторов: итератор, удовлетворяющий предикату |
| Примечание | Переиспользование: после вызова этого метода следует удалить вызываемый итератор и использовать только возвращенные итераторы. Использование старого итератора неопределенно, может быть изменено и может привести к изменениям в новых итераторах тоже. |
Источник
Возвращает этот итератор с измененными значениями. Замена по отрицательным индексам аналогична замене, начиная с 0. Замена по индексам, равным или превышающим длину исходного итератора, добавляет исправление в конец. Если заменяемых значений больше, чем фактически существует, избыток игнорируется.
| Параметры |
|
|---|---|
| Примечание | Переиспользование: после вызова этого метода следует удалить вызываемый итератор, а также переданный в качестве параметра, и использовать только возвращённый итератор. Использование старых итераторов неопределенно, может быть изменено и может привести к изменениям в новом итераторе тоже. |
Источник
Проверяет, сравниваются ли соответствующие элементы заданной итерируемой коллекции (с точки зрения ==) с элементами этого итератора.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращаемое значение |
|
Source
Source
Source
Возвращает итератор, представляющий «скользящее окно» вида этого итератора. Первый аргумент — размер окна, а второй аргумент — на сколько сдвигать окно на каждой итерации. По умолчанию второй аргумент step равен 1.
Возвращаемый GroupedIterator итератор может быть настроен на заполнение частичного результата до размера size или на подавление частичного результата полностью.
Примеры использования:
// Returns List(ArraySeq(1, 2, 3), ArraySeq(2, 3, 4), ArraySeq(3, 4, 5)) (1 to 5).iterator.sliding(3).toList // Returns List(ArraySeq(1, 2, 3, 4), ArraySeq(4, 5)) (1 to 5).iterator.sliding(4, 3).toList // Returns List(ArraySeq(1, 2, 3, 4)) (1 to 5).iterator.sliding(4, 3).withPartial(false).toList // Returns List(ArraySeq(1, 2, 3, 4), ArraySeq(4, 5, 20, 25)) // Illustrating that withPadding's argument is by-name. val it2 = Iterator.iterate(20)(_ + 5) (1 to 5).iterator.sliding(4, 3).withPadding(it2.next).toList
| Параметры значения |
|
|---|---|
| Возвращаемое значение | Итератор, генерирующий группы элементов размера |
| Примечание | Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также. |
Source
Разделяет этот итератор на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно), чем (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Примечание | Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённые итераторы. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новых итераторах также. |
|---|
Source
Source
Source
| Классы-предки | IterableOnceOps |
|---|
Source
Преобразует этот итератор в строку.
| Возвращаемое значение |
|
|---|---|
| Примечание | Переиспользование: Итератор остаётся допустимым для дальнейшего использования, независимо от возвращаемого результата. |
| Классы-предки | Any |
Source
Создаёт итератор по всем элементам этого итератора, удовлетворяющим предикату p. Порядок элементов сохраняется.
Примечание: withFilter то же самое, что filter для итераторов. Оно существует для того, чтобы выражения for с фильтрами работали над итераторами.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | итератор, который генерирует те значения этого итератора, которые удовлетворяют предикату |
| Примечание | Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также. |
Source
Source
Source
Методы-предки
Source@inline
Добавляет все элементы этой коллекции в строковый буфер. Записанный текст состоит из строковых представлений (с помощью метода toString) всех элементов этой коллекции без разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
| Параметры значения |
|
|---|---|
| Возвращаемое значение | строковый буфер |
| Унаследовано от | IterableOnceOps |
Source@inline
Добавляет все элементы этой коллекции в строковый буфер с разделительной строкой. Записанный текст состоит из строковых представлений (с помощью метода toString) всех элементов этой коллекции, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
| Параметры значения |
|
|---|---|
| Возвращаемое значение | строковый буфер |
| Унаследовано от | IterableOnceOps |
Source
Добавляет все элементы этой коллекции в строковый буфер с начальной, конечной и разделительной строками. Записанный текст начинается со строки start и заканчивается строкой end. Внутри строковые представления (с помощью метода toString) всех элементов этой коллекции разделены строкой sep.
Пример:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
| Параметры значения |
|
|---|---|
| Возвращаемое значение | строковый буфер |
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее результат применения pf к первому значению, для которого оно определено, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование завершится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Использование: после вызова этого метода необходимо удалить итератор, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование завершится, как только будут скопированы все элементы этой коллекции или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Использование: после вызова этого метода необходимо удалить итератор, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование завершится, как только будут скопированы все элементы этой коллекции или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Использование: после вызова этого метода необходимо удалить итератор, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Исходный код
Проверяет, удовлетворяет ли каждый элемент итератора этой коллекции соответствующему элементу другой коллекции, удовлетворяя условию предиката.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Исходный код
Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Находит первый элемент коллекции, удовлетворяющий предикату, если таковой имеется.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее первый элемент коллекции, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Исходный код
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции, используя заданный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора сложения |
| Унаследовано от | IterableOnceOps |
Исходный код
def foldLeft[B](z: B)(op: (B, A) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции, слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
def foldRight[B](z: B)(op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Применить f к каждому элементу для побочных эффектов Примечание: параметр [U] необходим для помощи в инференции типов scalac.
| Унаследовано от | IterableOnceOps |
|---|
Источник
Проверяет, можно ли повторно пройти по этой коллекции. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
| Возвращает | Количество элементов в этой коллекции, если его можно вычислить без затрат, в противном случае -1. Недорого обычно означает: не требует прохода по коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Источник
Находит наибольший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеряемое функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеряемое функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее наибольший элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеряемое функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | первый элемент этого набора с наименьшим значением, измеренным функцией f относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение опционального типа, содержащего первый элемент этого набора с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение опционального типа, содержащее наименьший элемент этого набора относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник@inline
Отображает все элементы этой коллекции в строке.
Делегирует addString, который может быть переопределен.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (с помощью метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник@inline
Отображает все элементы этой коллекции в строке с использованием разделительной строки.
Делегирует addString, который может быть переопределен.
| Параметры значений |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (с помощью метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке, используя начальную, конечную и разделительные строки.
Делегирует addString, который может быть переопределен.
| Параметры значений |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
Проверяет, не является ли коллекция пустой.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Перемножает элементы этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | произведение всех элементов этой коллекции по отношению к оператору |
| Унаследовано от | IterableOnceOps |
Источник
def reduce[B >: A](op: (B, B) => B): B
Сводит элементы этой коллекции с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | Результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeft[B >: A](op: (B, A) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Редуцирует элементы этой коллекции, если таковые имеются, с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее результат применения редуцирующего оператора |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции, идя справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции, идя справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Размер этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Возвращает | количество элементов в этой коллекции. |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Разделяет эту коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара коллекций, состоящая из первых |
| Унаследовано от | IterableOnceOps |
Источник
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создавать поток Java для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этой коллекции.
Для коллекций
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций
Longвозвращается scala.collection.LongStepperДля любого другого типа элементов возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределен в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Источник
Суммирует элементы этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
С помощью фабрики коллекций factory, преобразовать эту коллекцию в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Источник
Преобразовать коллекцию в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Источник@inline
| Унаследовано от | IterableOnceOps |
|---|
Source
def toIndexedSeq: IndexedSeq[A]
| Inherited from | IterableOnceOps |
|---|
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Возвращает | Этот набор данных как |
|---|---|
| Inherited from | IterableOnceOps |
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Inherited from | IterableOnceOps |
|---|
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/collection/Iterator.html