Трейт IterableFactoryDefaults.IterableFactoryDefaults
Этот трейт предоставляет значения по умолчанию для фабричных методов fromSpecific и newSpecificBuilder, которые необходимо уточнить при реализации типа коллекции, уточняющего параметры типов CC и C.
Значения по умолчанию в этом трейте могут быть использованы в общем случае, когда CC[A] совпадает с C.
| Супертипы |
|---|
| Известные подтипы | 204 типа |
|---|
Конкретные методы
Источник
override def empty: CC[A]
Пустое множество того же типа, что и это множество
| Возвращает | пустое множество типа |
|---|---|
| Классы определения | IterableOps |
Источник
protected def fromSpecific(coll: IterableOnce[A]): CC[A]
Определяет, как преобразовать заданное Iterable[A] в коллекцию типа C.
Этот процесс может быть выполнен строго или нестрого (то есть без вычисления элементов результирующих коллекций). Другими словами, этот метод определяет модель вычисления коллекции.
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как видно из аннотации |
|---|
Источник
protected def newSpecificBuilder: Builder[A, CC[A]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList), реализовать этот метод возможно, но получившийся |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как видно из аннотации |
Унаследованные методы
Источник
final def ++[B >: A](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Унаследованно от | IterableOps |
|---|
Источник
Добавляет все элементы этой коллекции в строковый билдер. Записанный текст состоит из строковых представлений (с точки зрения метода 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 |
Источник
Добавляет все элементы этой коллекции в строковый билдер с использованием разделительной строки. Записанный текст состоит из строковых представлений (с точки зрения метода 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 |
Источник
Добавляет все элементы этой коллекции в строковый билдер с использованием начальной, конечной и разделительной строк. Записанный текст начинается со строки 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)
END_OF_DOCUMENT_MARKER | Параметры значения |
|
|---|---|
| Возвращает | строку для добавления элементов |
| Унаследовано от | IterableOnceOps |
Исходный код
def collect[B](pf: PartialFunction[A, B]): CC[B]
Создаёт новую итерируемую коллекцию, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новую итерируемую коллекцию, полученную путём применения заданной частичной функции |
| Унаследовано от | IterableOps |
Исходный код
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее результат применения pf к первому значению, для которого она определена, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Исходный код
def concat[B >: A](suffix: IterableOnce[B]): CC[B]
Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента итерируемой коллекции — это наиболее общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новую итерируемую коллекцию, содержащую все элементы этой итерируемой коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более len элементами из этой коллекции.
Копирование прекращается, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов будут скопированы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: после вызова этого метода следует удалить итератор, который был использован. Использование его не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этого набора.
Копирование прекратится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этого набора.
Копирование прекратится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя предикату проверки.
Примечание: не будет завершено для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение |
|
| Унаследовано от | IterableOnceOps |
Источник
Подсчитывает количество элементов в наборе, удовлетворяющих предикату.
Примечание: не будет завершено для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, состоящий из всех элементов этого итерируемого набора, кроме первых |
| Унаследовано от | IterableOps |
Источник
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, состоящий из всех элементов этого итерируемого набора, кроме последних |
| Унаследовано от | IterableOps |
Источник
Удаляет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный суффикс этого итерируемого набора, первый элемент которого не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента этого набора.
Примечание: может не завершиться для бесконечных наборов.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Выбирает все элементы этого итерируемого набора, которые удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, которые удовлетворяют заданному предикату |
| Унаследовано от | IterableOps |
Источник
Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, которые не удовлетворяют заданному предикату |
| Унаследовано от | IterableOps |
Источник
Находит первый элемент набора, удовлетворяющий предикату, если таковой есть.
Примечание: может не завершиться для бесконечных наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение опции, содержащее первый элемент в коллекции, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Источник
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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая коллекция итераций, полученная в результате применения заданной функции, возвращающей коллекцию |
| Унаследовано от | IterableOps |
Источник
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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая коллекция итераций, полученная в результате конкатенации всех коллекций итераций элементов. |
| Унаследовано от | IterableOps |
Источник
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции, используя указанный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не завершится для бесконечных коллекций.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора fold |
| Унаследовано от | 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 |
|---|
Источник
Разбивает этот итерируемый набор на карту итерируемых наборов в соответствии с функцией-дискриминатором.
Примечание: Даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта от ключей к итерируемым наборам, которая удовлетворяет следующему инварианту: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть, каждый ключ |
| Унаследовано от | IterableOps |
Источник
Разбивает этот итерируемый набор на карту итерируемых наборов в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.
Это эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: Даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Унаследовано от | IterableOps |
Источник
def groupMapReduce[K, B](key: A => K)(f: A => B)(reduce: (B, B) => B): Map[K, B]
Разбивает этот итерируемый набор на карту в соответствии с функцией-дискриминатором key. Все значения, имеющие одинаковый дискриминатор, затем преобразуются функцией f и затем сводятся к одному значению с помощью функции reduce.
Это эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: даже при применении к представлению или ленивому набору элементов, он всегда будет принудительно создавать элементы.
| Унаследовано от | IterableOps |
|---|
Источник
Разделяет элементы на итерируемые наборы фиксированного размера.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы размером |
| См. также | scala.collection.Iterator, метод |
| Унаследовано от | IterableOps |
Источник
def head: A
Выбирает первый элемент этого итерируемого набора.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Возвращает | первый элемент этого итерируемого набора. |
|---|---|
| Выбрасывает |
|
| Унаследовано от | IterableOps |
Источник
def headOption: Option[A]
Выбирает первый элемент, если он существует.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Возвращает | первый элемент этого итерируемого набора, если он не пуст, |
|---|---|
| Унаследовано от | IterableOps |
Источник
def init: C
Первая часть набора без последнего элемента.
Примечание: даже при применении к представлению или ленивому набору элементов, он всегда будет принудительно создавать элементы.
| Унаследовано от | IterableOps |
|---|
Источник
Итерирует по начальным частям этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения будут результатами последовательных применений init.
Примечание: даже при применении к представлению или ленивому набору элементов, он всегда будет принудительно создавать элементы.
| Возвращает | итератор по всем начальным частям этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Проверяет, пуст ли набор.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны быть осторожны, чтобы не потреблять какие-либо элементы, когда isEmpty вызывается.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
override def isTraversableAgain: Boolean
Проверяет, можно ли многократно пройти по этой итерируемой коллекции. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
def iterableFactory: IterableFactory[CC]
Объект-компаньон этой итерируемой коллекции, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Унаследовано от | IterableOps |
Источник
Итератор может быть использован только один раз
| Унаследовано от | IterableOnce |
|---|
Источник
| Возвращает | Количество элементов в этой коллекции, если его можно легко вычислить, -1 в противном случае. Легко вычислить обычно означает: Не требуется обход коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Источник
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | Последний элемент этой итерируемой коллекции. |
|---|---|
| Выбрасывает |
|
| Унаследовано от | IterableOps |
Источник
def lastOption: Option[A]
Необязательно выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции, если она не пуста, |
|---|---|
| Унаследовано от | IterableOps |
Источник
def map[B](f: A => B): CC[B]
Создает новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная в результате применения заданной функции |
| Унаследовано от | IterableOps |
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно упорядочения |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее наибольший элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции относительно упорядочения |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Имеет исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее наименьший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Source
Выводит все элементы этой коллекции в строку.
Делегирует addString, который может быть переопределён.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Выводит все элементы этой коллекции в строку с использованием разделительной строки.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Выводит все элементы этой коллекции в строку с использованием начальной, конечной и разделительной строк.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Проверяет, не пуста ли коллекция.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Пара, во-первых, всех элементов, удовлетворяющих предикату p, и, во-вторых, всех элементов, которые не удовлетворяют. Интересно, потому что разделяет коллекцию на две части.
Указанная здесь реализация по умолчанию должна дважды пройтись по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Унаследовано от | IterableOps |
|---|
Source
def partitionMap[A1, A2](f: A => Either[A1, A2]): (CC[A1], CC[A2])
Применяет функцию f к каждому элементу итерабельной коллекции и возвращает пару итерабельных коллекций: первую, состоящую из значений, возвращённых f, которые были заключены в scala.util.Left, и вторую, состоящую из заключённых в scala.util.Right.
Пример:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пару итерабельных коллекций: первую, состоящую из значений, возвращённых |
| Унаследовано от | IterableOps |
Source
Перемножает элементы этой коллекции.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Source
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, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор является ассоциативным и коммутативным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор является ассоциативным и коммутативным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
def scan[B >: A](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксный скан элементов коллекции.
Примечание: Нейтральный элемент z может быть применен более одного раза.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новая итерируемая коллекция, содержащая префиксный скан элементов в этой итерируемой коллекции |
| Унаследовано от | IterableOps |
Источник
def scanLeft[B](z: B)(op: (B, A) => B): CC[B]
Создает итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Источник
def scanRight[B](z: B)(op: (A, B) => B): CC[B]
Создает коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — последний кумулятивный результат.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен.
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут форсированы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Источник
Размер этой коллекции.
Примечание: не завершит работу для коллекций бесконечного размера.
| Возвращает | количество элементов в этом наборе. |
|---|---|
| Унаследовано от | IterableOnceOps |
Исходный код
Сравнивает размер этого итерируемого набора с размером другого Iterable.
| Параметры |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Этот метод, как реализован здесь, не вызывает |
| Унаследовано от | IterableOps |
Исходный код
Сравнивает размер этого итерируемого набора со значением теста.
| Параметры |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Этот метод, как реализован здесь, не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Исходный код
final def sizeIs: SizeCompareOps
Возвращает экземпляр класса со значениями, содержащими операции для сравнения размера этого итерируемого набора со значением теста.
Эти операции реализованы с точки зрения sizeCompare(Int) и позволяют использовать более читаемые выражения:
this.sizeIs < size // this.sizeCompare(size) < 0 this.sizeIs <= size // this.sizeCompare(size) <= 0 this.sizeIs == size // this.sizeCompare(size) == 0 this.sizeIs != size // this.sizeCompare(size) != 0 this.sizeIs >= size // this.sizeCompare(size) >= 0 this.sizeIs > size // this.sizeCompare(size) > 0
| Унаследовано от | IterableOps |
|---|
Исходный код
Выбирает интервал элементов. Возвращаемый итерируемый набор состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не является упорядоченным.
| Параметры |
|
|---|---|
| Возвращает | итерируемый набор, содержащий элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Исходный код
Группирует элементы в блоки фиксированного размера, перемещая «скользящее окно» по ним (в отличие от разделения их, как это делается в grouped.)
Возвращаемый итератор будет пустым, если вызван для пустого набора. Последний элемент, который итератор генерирует, может быть меньше размера окна, если исходный набор не исчерпан окном до него и его последний элемент не пропущен шагом до него.
| Параметры |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Группирует элементы в блоки фиксированного размера, перемещая «скользящее окно» по ним (в отличие от разделения их, как это делается в grouped.)
Пустой набор возвращает пустой итератор, а набор, содержащий меньше элементов, чем размер окна, возвращает итератор, который сгенерирует исходный набор как единственный элемент.
| Параметры |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Разделяет этот итерируемый набор на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не является упорядоченным.
| Параметры |
|
|---|---|
| Возвращает | пара, состоящая из самого длинного префикса этого итерируемого набора, чьи элементы удовлетворяют |
| Унаследовано от | IterableOps |
Исходный код
Разделяет этот итерируемый набор на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не является упорядоченным.
| Параметры |
|
|---|---|
| Возвращает | пара итерируемых наборов, состоящих из первых |
| Определяющие классы | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Исходный код
Возвращает 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. Для Степеров, помеченных как scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Степеры могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Источник
Суммирует элементы этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
def tail: C
Остаток коллекции без первого элемента.
| Унаследовано от | IterableOps |
|---|
Источник
Перебирает хвосты этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения будут результатами последовательных применений tail.
| Возвращает | итератор по всем хвостам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Выбирает первые n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только первые |
| Унаследовано от | IterableOps |
Источник
Выбирает последние n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только последние |
| Унаследовано от | IterableOps |
Источник
Берёт наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | наибольший префикс этой итерируемой коллекции, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Источник
override def tapEach[U](f: A => U): C
Применяет функцию со побочным эффектом к каждому элементу в этой коллекции. Строгие коллекции будут применять f к своим элементам немедленно, в то время как ленивые коллекции, такие как представления и LazyLists, будут применять f к каждому элементу только тогда, когда этот элемент будет вычислен, и каждый раз, когда этот элемент вычисляется.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Такая же логическая коллекция, как и эта |
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
С помощью фабрики коллекций factory, преобразуйте эту коллекцию в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Источник
Преобразовать коллекцию в массив.
Примечание реализации: НЕ вызывать Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Возвращает | Эта коллекция в виде |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Наследуется от | IterableOnceOps |
|---|
Исходный код
Транспонирует это итерируемое множество итерируемых множеств в итерируемое множество итерируемых множеств.
Тип результирующего множества будет определяться статическим типом итерируемого множества. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Примечание: Даже при применении к представлению или ленивому множеству элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | двумерное итерируемое множество итерируемых множеств, в котором n-я строка соответствует n-му столбцу этого итерируемого множества. |
| Исключения |
|
| Наследуется от | IterableOps |
Исходный код
def unzip[A1, A2](implicit asPair: A => (A1, A2)): (CC[A1], CC[A2])
Преобразует это итерируемое множество пар в два множества из первой и второй половины каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пару итерируемых множеств, содержащую первую и вторую половины каждой пары элементов этого итерируемого множества. |
| Наследуется от | IterableOps |
Исходный код
def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])
Преобразует это итерируемое множество троек в три множества из первого, второго и третьего элемента каждой тройки.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тройку итерируемых множеств, содержащую первый, второй и третий члены каждой тройки элементов этого итерируемого множества. |
| Наследуется от | IterableOps |
Исходный код
Представление над элементами этого множества.
| Наследуется от | IterableOps |
|---|
Исходный код
Создаёт нестрогий фильтр этого итерируемого множества.
Примечание: разница между c filter p и c withFilter p заключается в том, что первое создаёт новое множество, а второе только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: могут возвращать разные результаты при разных запусках, если тип базового множества не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Наследуется от | IterableOps |
Исходный код
def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путём объединения соответствующих элементов в пары. Если одно из двух множеств длиннее другого, оставшиеся элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новое итерируемое множество, содержащее пары, состоящие из соответствующих элементов этого итерируемого множества и |
| Наследуется от | IterableOps |
Исходный код
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путём объединения соответствующих элементов в пары. Если одно из двух множеств короче другого, для расширения более короткого множества до длины более длинного используются заполнители.
| Параметры значения |
|
|---|---|
| Возвращает | новое множество типа |
| Наследуется от | IterableOps |
Исходный код
def zipWithIndex: CC[(A, Int)]
Объединяет это итерируемое множество со своими индексами.
| Возвращает | Новое итерируемое множество, содержащее пары, состоящие из всех элементов этого итерируемого множества, соединённых с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Наследуется от | IterableOps |
© 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/IterableFactoryDefaults.html