Интерфейс IterableOnceOps.IterableOnceOps
интерфейс IterableOnceOps[+A, +CC[_], +C]
Этот реализующий интерфейс может быть смешан с IterableOnce для получения базовых методов, общих для Iterator и Iterable. IterableOnce должен поддерживать несколько вызовов iterator, но может или не может возвращать тот же Iterator каждый раз.
| Предки | |
|---|---|
| Известные подтипы | 254 типа |
| Тип самого себя |
|---|
Абстрактные методы
Источник
def collect[B](pf: PartialFunction[A, B]): CC[B]
Создаёт новую коллекцию, применяя частичную функцию ко всем элементам этой коллекции, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая коллекция, полученная путём применения данной частичной функции |
Источник
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | коллекция, состоящая из всех элементов этой коллекции, кроме первых |
Источник
Удаляет самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | наиболее длинный суффикс этого набора, первый элемент которого не удовлетворяет предикату |
Источник
Выбирает все элементы этого набора, удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый набор, состоящий из всех элементов этого набора, удовлетворяющих заданному предикату |
Источник
Выбирает все элементы этого набора, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый набор, состоящий из всех элементов этого набора, которые не удовлетворяют заданному предикату |
Источник
def flatMap[B](f: A => IterableOnce[B]): CC[B]
Создает новый набор, применяя функцию ко всем элементам этого набора и используя элементы полученных наборов.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующего набора определяется статическим типом набора. Это может иногда приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый набор, полученный в результате применения заданной функции, принимающей набор |
Источник
def flatten[B](implicit asIterable: A => IterableOnce[B]): CC[B]
Преобразует этот набор итерируемых наборов в набор, образованный элементами этих итерируемых наборов.
Тип результирующего набора определяется типом набора. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый набор, полученный в результате конкатенации всех наборов элементов. |
Источник
def map[B](f: A => B): CC[B]
Создает новый набор, применяя функцию ко всем элементам этого набора.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый набор, полученный в результате применения заданной функции |
Источник
def scanLeft[B](z: B)(op: (B, A) => B): CC[B]
Создаёт набор, содержащий кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершается для наборов бесконечной длины.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | набор с промежуточными результатами |
Источник
Выбирает интервал элементов. Возвращаемый набор состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | набор, содержащий элементы, большие или равные индексу |
Источник
Разбивает этот набор на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (возможно, более эффективно), чем (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пару, состоящую из самого длинного префикса этого набора, элементы которого все удовлетворяют |
Источник
Выбирает первые n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | набор, состоящий только из первых |
Источник
Берёт самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный префикс этого набора, элементы которого все удовлетворяют предикату |
Источник
def tapEach[U](f: A => U): C
Применяет функцию с побочным эффектом к каждому элементу в этом наборе. Строгие наборы будут применять f к своим элементам немедленно, в то время как ленивые наборы, такие как представления и LazyLists, будут применять f к каждому элементу только при его вычислении, и каждый раз, когда этот элемент вычисляется.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | логически такой же набор, как этот |
Источник
def zipWithIndex: CC[(A, Int)]
Запаковывает этот набор с его индексами.
| Возвращает | Новый набор, содержащий пары, состоящие из всех элементов этого набора, связанных с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
Конкретные методы
Источник
Добавляет все элементы этого набора в строковый буфер, используя начальную, конечную и разделительные строки. Текст, который записывается, начинается со строки 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)
| Параметры значений |
|
|---|---|
| Возвращает | строковый буфер |
Источник
Добавляет все элементы этого набора в строковый буфер, используя разделительную строку. Записываемый текст состоит из строковых представлений (относительно метода 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
| Параметры значений |
|
|---|---|
| Возвращает | строковый буфер |
Источник
Добавляет все элементы этого набора в строковый буфер. Записываемый текст состоит из строковых представлений (относительно метода 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
| Параметры значений |
|
|---|---|
| Возвращает | строковый буфер |
Источник
Находит первый элемент набора, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | значение Option, содержащее результат применения pf к первому значению, для которого оно определено, или |
| Пример |
|
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода нужно удалить итератор, на котором он был вызван. Использование итератора после этого метода не определено и может измениться. |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода нужно удалить итератор, на котором он был вызван. Использование итератора после этого метода не определено и может измениться. |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более len элементами этого набора.
Копирование прекращается, как только скопированы все элементы этого набора, достигнут конец массива или скопировано len элементов.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода нужно удалить итератор, на котором он был вызван. Использование итератора после этого метода не определено и может измениться. |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает |
|
Источник
Подсчитывает количество элементов в наборе, которые удовлетворяют предикату.
Примечание: не завершится для наборов бесконечного размера.
| Параметры значений |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента этого набора.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значений |
|
|---|---|
| Возвращает |
|
Источник
Находит первый элемент в коллекции, удовлетворяющий предикату, если такой есть.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | значение Option, содержащее первый элемент в коллекции, который удовлетворяет |
Источник
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции с помощью заданного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | результат применения оператора fold |
Источник
def foldLeft[B](z: B)(op: (B, A) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | результат вставки |
Источник
def foldRight[B](z: B)(op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | результат вставки |
Источник
Проверяет, выполняется ли предикат для всех элементов этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращаемое значение |
|
Источник
Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.
Источник
Проверяет, является ли коллекция пустой.
Примечание: реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы при вызове isEmpty.
| Возвращаемое значение |
|
|---|
Источник
Проверяет, может ли эта коллекция многократно проходить. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
| Возвращаемое значение |
|
|---|
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | наибольший элемент этой коллекции по отношению к упорядочению |
| Исключения |
|
Источник
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | первый элемент этой коллекции с наибольшим значением, измеренным функцией f с учетом упорядочения |
| Исключения |
|
Источник
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | значение Option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f с учетом упорядочения |
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | значение Option, содержащее наибольший элемент этой коллекции с учетом упорядочения |
Source
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции относительно упорядочения |
| Исключения |
|
Source
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно упорядочения |
| Исключения |
|
Source
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно упорядочения |
Source
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наименьший элемент этой коллекции относительно упорядочения |
Source
Отображает все элементы этой коллекции в строке, используя строки start, end и разделитель.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
Source
Отображает все элементы этой коллекции в строке, используя строку-разделитель.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
Source
Отображает все элементы этого набора в строке.
Делегирует addString, который можно переопределить.
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (с точки зрения метода |
|---|
Source
Проверяет, не пустой ли набор.
| Возвращает |
|
|---|
Source
Перемножает элементы этого набора.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этого набора относительно оператора |
Source
def reduce[B >: A](op: (B, B) => B): B
Редуцирует элементы этого набора с помощью заданного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Результат применения оператора reduce |
| Выбрасывает |
|
Source
def reduceLeft[B >: A](op: (B, A) => B): B
Применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Выбрасывает |
|
Source
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее результат |
Исходный код
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Сводит элементы этой коллекции, если таковые имеются, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Значение Option, содержащее результат применения оператора reduce |
Исходный код
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции, слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
Исходный код
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее результат |
Исходный код
Исходный код
Размер этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Возвращает | количество элементов в этой коллекции. |
|---|
Исходный код
Разделяет эту коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара коллекций, состоящих из первых |
Исходный код
Суммирует элементы этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
Исходный код
При заданной фабрике коллекций factory, преобразует эту коллекцию в соответствующее представление для текущего типа элементов A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
Исходный код
Преобразует коллекцию в массив.
Примечание для реализации: НЕ вызывайте Array.from из этого метода.
Исходный код
Исходный код
def toIndexedSeq: IndexedSeq[A]
Исходный код
Исходный код
Исходный код
| Возвращает | Эта коллекция в виде |
|---|
Исходный код
Исходный код
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/IterableOnceOps.html