Spec-Zone.ru › Scala 2.12 Library

Трейт scala.collection.parallel.immutable.ParIterable

Компаньон объект ParIterable

trait ParIterable[+T] extends GenIterable[T] with parallel.ParIterable[T] with GenericParTemplate[T, ParIterable] with ParIterableLike[T, ParIterable[T], immutable.Iterable[T]] with Immutable

Шаблонный трейт для неизменяемых параллельных итерируемых коллекций.

Это базовый трейт для параллельных коллекций Scala. Он определяет поведение, общее для всех параллельных коллекций. Конкретные параллельные коллекции должны наследовать этот трейт и ParIterable если они хотят определить специфические фабрики комбайнеров.

Параллельные операции реализованы с помощью алгоритмов «разделяй и властвуй», которые хорошо распараллеливаются. Основная идея состоит в разделении коллекции на меньшие части до тех пор, пока они не станут достаточно малыми для последовательной обработки.

Все параллельные операции реализованы как задачи в этом трейте. Задачи полагаются на концепцию разделителей, которые расширяют итераторы. Каждая параллельная коллекция определяет:

def splitter: IterableSplitter[T]

которая возвращает экземпляр IterableSplitter[T], который является подтипом Splitter[T]. Разделители имеют метод remaining для проверки оставшегося количества элементов и метод split, который определяется разделителями. Метод split делит итерацию разделителей на непересекающиеся подмножества:

def split: Seq[Splitter]

который разделяет разделитель на последовательность непересекающихся подразделителей. Обычно это очень быстрая операция, которая просто создаёт обёртки вокруг коллекции-получателя. Это можно повторять рекурсивно.

Задачи планируются для выполнения через объект scala.collection.parallel.TaskSupport, который может быть изменён через tasksupport установщик коллекции.

Метод newCombiner создаёт новый комбайнер. Комбайнеры являются расширением билдеров. Они предоставляют метод combine который объединяет два комбайнера и возвращает комбайнер, содержащий элементы обоих комбайнеров. Этот метод может быть реализован путём агрессивной копии всех элементов в новый комбайнер или путём ленивой связи их результатов. Рекомендуется избегать копирования всех элементов по соображениям производительности, хотя эта стоимость может быть незначительной в зависимости от конкретного случая. Стандартные комбайнеры параллельных коллекций избегают копирования при объединении результатов, полагаясь либо на двухэтапную ленивую конструкцию, либо на специфические свойства структуры данных.

Методы:

def seq: Sequential
def par: Repr

производят последовательную или параллельную реализацию коллекции соответственно. Метод par просто возвращает ссылку на эту параллельную коллекцию. Метод seq эффективный — он не копирует элементы. Вместо этого он создаёт последовательную версию коллекции, используя ту же самую базовую структуру данных. Обратите внимание, что это не всегда верно для последовательных коллекций в целом — они могут копировать элементы и создавать другую базовую структуру данных.

Сочетание методов toMap, toSeq или toSet вместе с par и seq является гибким способом переключения между различными типами коллекций.

Поскольку этот трейт расширяет GenIterable трейт, методы, такие как size, также должны быть реализованы в конкретных коллекциях, в то время как iterator передаёт по умолчанию splitter.

Каждая параллельная коллекция привязана к конкретному пулу fork/join, в котором хранятся спящие потоки-работники. Пул fork/join содержит другую информацию, например, уровень параллелизма, то есть количество используемых процессоров. При создании коллекции ей назначается по умолчанию пул fork/join, найденный в scala.parallel пакете-объекте.

Параллельные коллекции не обязательно упорядочены в терминах операции foreach (см. Traversable). У параллельных последовательностей есть чётко определённый порядок для итераторов — создание итератора и линейное перемещение по элементам всегда приведут к одному и тому же порядку. Однако массовые операции, такие как foreach, map или filter, всегда происходят в неопределённом порядке для всех параллельных коллекций.

Существующие реализации параллельных коллекций предоставляют жёсткие параллельные итераторы. Жёсткие параллельные итераторы знают количество элементов, которые им ещё предстоит пройти. Также возможно предоставить нежёсткие параллельные итераторы, которые не знают количество оставшихся элементов. Для этого новая реализация коллекции должна переопределить isStrictSplitterCollection в false. Это сделает некоторые операции недоступными.

Для создания новой параллельной коллекции, расширьте ParIterable трейт и реализуйте size, splitter, newCombiner и seq. Необходимость явного комбайнера-фабрики требует расширения этого трейта, а также предоставления компаньон-объекта, как и для обычных коллекций.

Метод size реализован как операция постоянного времени для параллельных коллекций, и операции параллельных коллекций полагаются на это предположение.

Функции высшего порядка, переданные в некоторые операции, могут содержать побочные эффекты. Поскольку реализации массовых операций могут быть не последовательными, это означает, что побочные эффекты могут быть непредсказуемыми и могут привести к проблемам с одновременным доступом к данным, тупикам или нарушению состояния, если не позаботиться об этом. Программисту необходимо либо избегать использования побочных эффектов, либо использовать некоторую форму синхронизации при доступе к изменяемым данным.

T

тип элементов коллекции

Источник
ParIterable.scala
С момента

2.9

Линейные надтипы
Известные подклассы

Члены типа

тракт Accessor[R, Tp] extends StrictSplitterCheckTask[R, Tp]

Стандартная задача доступа, которая итерирует элементы коллекции.

R

тип результата этого метода (R для результата).

Tp

тип представления задачи.

Атрибуты
protected
Определяющие классы
ParIterableLike

класс Aggregate[S] extends Accessor[S, Aggregate[S]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

тракт BuilderOps[Elem, To] extends AnyRef

Определяющие классы
ParIterableLike

класс Collect[S, That] extends Transformer[Combiner[S, That], Collect[S, That]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

абстрактный класс Composite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends NonDivisibleTask[R, Composite[FR, SR, R, First, Second]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Copy[U >: T, That] extends Transformer[Combiner[U, That], Copy[U, That]]

Атрибуты
protected
Определяющие классы
ParIterableLike

класс CopyToArray[U >: T, This >: Repr] extends Accessor[Unit, CopyToArray[U, This]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Count extends Accessor[Int, Count]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс CreateScanTree[U >: T] extends Transformer[ScanTree[U], CreateScanTree[U]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Drop[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Drop[U, This]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Exists extends Accessor[Boolean, Exists]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Filter[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Filter[U, This]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс FilterNot[U >: T, This >: Repr] extends Transformer[Combiner[U, This], FilterNot[U, This]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Find[U >: T] extends Accessor[Option[U], Find[U]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс FlatMap[S, That] extends Transformer[Combiner[S, That], FlatMap[S, That]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Fold[U >: T] extends Accessor[U, Fold[U]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Forall extends Accessor[Boolean, Forall]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Foreach[S] extends Accessor[Unit, Foreach[S]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс FromScanTree[U >: T, That] extends StrictSplitterCheckTask[Combiner[U, That], FromScanTree[U, That]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс GroupBy[K, U >: T] extends Transformer[HashMapCombiner[K, U], GroupBy[K, U]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Map[S, That] extends Transformer[Combiner[S, That], Map[S, That]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Max[U >: T] extends Accessor[Option[U], Max[U]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Min[U >: T] extends Accessor[Option[U], Min[U]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

тракт NonDivisible[R] extends NonDivisibleTask[R, NonDivisible[R]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

тракт NonDivisibleTask[R, Tp] extends StrictSplitterCheckTask[R, Tp]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

абстрактный класс ParComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends Composite[FR, SR, R, First, Second]

Выполняет две задачи параллельно и ожидает завершения обеих.

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Partition[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), Partition[U, This]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

класс Product[U >: T] extends Accessor[U, Product[U]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

класс Reduce[U >: T] extends Accessor[Option[U], Reduce[U]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

абстрактный класс ResultMapping[R, Tp, R1] extends NonDivisibleTask[R1, ResultMapping[R, Tp, R1]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

случайный класс ScanLeaf[U >: T](pit: IterableSplitter[U], op: (U, U) ⇒ U, from: Int, len: Int, prev: Option[ScanLeaf[U]], acc: U) extends ScanTree[U] with scala.Product with Serializable

Атрибуты
protected[this]
Классы определений
ParIterableLike

случайный класс ScanNode[U >: T](left: ScanTree[U], right: ScanTree[U]) extends ScanTree[U] with scala.Product with Serializable

Атрибуты
protected[this]
Классы определений
ParIterableLike

трайт ScanTree[U >: T] extends AnyRef

Атрибуты
protected[this]
Классы определений
ParIterableLike

абстрактный класс SeqComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends Composite[FR, SR, R, First, Second]

Последовательно выполняет одну задачу за другой.

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

тракт SignallingOps[PI <: DelegatedSignalling] extends AnyRef

Определяющие классы
ParIterableLike

класс Slice[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Slice[U, This]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Span[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), Span[U, This]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс SplitAt[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), SplitAt[U, This]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

тракт StrictSplitterCheckTask[R, Tp] extends Task[R, Tp]

Атрибуты
protected
Определяющие классы
ParIterableLike

класс Sum[U >: T] extends Accessor[U, Sum[U]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Take[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Take[U, This]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс TakeWhile[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Boolean), TakeWhile[U, This]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

тракт TaskOps[R, Tp] extends AnyRef

Классы определений
ParIterableLike

класс ToParCollection[U >: T, That] extends Transformer[Combiner[U, That], ToParCollection[U, That]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

класс ToParMap[K, V, That] extends Transformer[Combiner[(K, V), That], ToParMap[K, V, That]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

тракт Transformer[R, Tp] extends Accessor[R, Tp]

Атрибуты
protected
Классы определений
ParIterableLike

класс Zip[U >: T, S, That] extends Transformer[Combiner[(U, S), That], Zip[U, S, That]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

класс ZipAll[U >: T, S, That] extends Transformer[Combiner[(U, S), That], ZipAll[U, S, That]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

тип SSCTask[R, Tp] = StrictSplitterCheckTask[R, Tp]

Классы определений
ParIterableLike

Абстрактные члены-значения

abstract def seq: immutable.Iterable[T]

Определяющие классы
ParIterableLike → Parallelizable → GenTraversableOnce

abstract def size: Int

Размер этого общего набора.

Примечание: не завершится для коллекций бесконечного размера.

возвращает

количество элементов в этом общем наборе.

Определяющие классы
GenTraversableLike → GenTraversableOnce

abstract def splitter: IterableSplitter[T]

Создаёт новый параллельный итератор, используемый для обхода элементов этой параллельной коллекции. Этот итератор более специфичен, чем итератор, возвращаемый iterator, и дополнен дополнительными методами доступа и преобразования.

возвращает

параллельный итератор

Атрибуты
protected[parallel]
Определяющие классы
ParIterableLike

Члены-значения конкретных типов

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true если !(this == that), в противном случае false.

Definition Classes
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращается хэш-значение, согласованное с равенством значений: если две экземпляра типа значения сравниваются как true, то ## вернёт одно и то же хэш-значение для каждого из них. Для null возвращается хэш-код, где null.hashCode выбросит NullPointerException.

returns

хэш-значение, согласованное с ==

Definition Classes
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из ParIterable[T] в any2stringadd[ParIterable[T]], выполненное методом any2stringadd в scala.Predef.
Definition Classes
any2stringadd

def ++[U >: T, That](that: GenTraversableOnce[U])(implicit bf: CanBuildFrom[ParIterable[T], U, That]): That

Возвращает новую параллельную итерацию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов параллельной итерации — это наиболее конкретный суперкласс, охватывающий типы элементов двух операндов.

That

класс возвращаемой коллекции. Там, где это возможно, That тот же класс, что и текущий класс коллекции Repr, но это зависит от типа элемента B быть допустимым для этого класса, что означает, что найден неявный экземпляр типа CanBuildFrom[Repr, B, That].

that

итерируемый объект для добавления.

bf

неявное значение класса CanBuildFrom, которое определяет класс результата That из текущего типа представления Repr и нового типа элемента B.

returns

новая коллекция типа That, которая содержит все элементы этой параллельной итерации, за которыми следуют все элементы that.

Definition Classes
ParIterableLike → GenTraversableLike

def ->[B](y: B): (ParIterable[T], B)

Неявный
Этот член добавлен неявным преобразованием из ParIterable[T] в ArrowAssoc[ParIterable[T]], выполненное методом ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Annotations
@inline()

def /:[S](z: S)(op: (S, T) ⇒ S): S

Применяет бинарный оператор к начальному значению и всем элементам этой параллельной итерации слева направо.

Примечание: /: — это альтернативная запись для foldLeft; z /: xs равно xs foldLeft z.

Примеры:

Обратите внимание, что функция свёртки, используемая для вычисления b, эквивалентна функции, используемой для вычисления c.

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = (5 /: a)(_+_)
b: Int = 15

scala> val c = (5 /: a)((x,y) => x + y)
c: Int = 15

Примечание: не завершит работу для бесконечных коллекций.

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

z

начальное значение.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этой параллельной итерации слева направо с начальным значением z слева:

op(...op(op(z, x_1), x_2), ..., x_n)

где x1, ..., xn — элементы этой параллельной итерации.

Definition Classes
ParIterableLike → GenTraversableOnce

def :\[S](z: S)(op: (T, S) ⇒ S): S

Применяет бинарный оператор ко всем элементам этого параллельного итерируемого объекта и начальному значению, двигаясь справа налево.

Примечание: :\ — это альтернативная синтаксическая конструкция для foldRight; xs :\ z — то же самое, что и xs foldRight z.

Примечание: не будет завершаться для бесконечных коллекций.

Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен или оператор является ассоциативным и коммутативным.

Примеры:

Обратите внимание, что функция свертки, используемая для вычисления b, эквивалентна функции, используемой для вычисления c.

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = (a :\ 5)(_+_)
b: Int = 15

scala> val c = (a :\ 5)((x,y) => x + y)
c: Int = 15
z

начальное значение

op

бинарный оператор

returns

результат вставки op между последовательными элементами этого параллельного итерируемого объекта, двигаясь справа налево с начальным значением z справа:

op(x_1, op(x_2, ... op(x_n, z)...))

где x1, ..., xn — это элементы этого параллельного итерируемого объекта.

Классы определений
ParIterableLike → GenTraversableOnce

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

returns

true , если объект-получатель эквивалентен аргументу; false в противном случае.

Классы определений
AnyRef → Any

def aggregate[S](z: ⇒ S)(seqop: (S, T) ⇒ S, combop: (S, S) ⇒ S): S

Агрегирует результаты применения оператора к последующим элементам.

Это более общая форма fold и reduce. Она имеет аналогичную семантику, но не требует, чтобы результат был супертипом типа элемента. Она последовательно проходит по элементам в разных разделах, используя seqop для обновления результата, а затем применяет combop к результатам из разных разделов. Реализация этой операции может работать с произвольным количеством разделов коллекции, поэтому combop может вызываться произвольное количество раз.

Например, можно обработать некоторые элементы и затем произвести Set. В этом случае, seqop будет обрабатывать элемент и добавлять его в набор, а combop будет конкатенировать два набора из разных разделов вместе. Начальное значение z будет пустым набором.

pc.aggregate(Set[Int]())(_ += process(_), _ ++ _)

Другой пример — вычисление геометрического среднего из коллекции чисел с плавающей запятой (в этом случае обычно требуется использование больших чисел с плавающей запятой).

S

тип накопленных результатов

z

начальное значение для накопленного результата раздела — обычно это будет нейтральный элемент для оператора seqop (например, Nil для конкатенации списков или 0 для суммирования), и может быть вычислено более одного раза

seqop

оператор, используемый для накопления результатов в рамках раздела

combop

ассоциативный оператор, используемый для объединения результатов из разных разделов

Классы определений
ParIterableLike → GenTraversableOnce

final def asInstanceOf[T0]: T0

Приводит объект-получатель к типу T0.

Обратите внимание, что успех приведения типа во время выполнения зависит от семантики стирания Scala. Таким образом, выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] этого не сделает. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.

returns

объект-получатель.

Классы определений
Any
Исключения

ClassCastException, если объект-получатель не является экземпляром стираемого типа T0.

def bf2seq[S, That](bf: CanBuildFrom[ParIterable[T], S, That]): CanBuildFrom[immutable.Iterable[T], S, That]

Атрибуты
protected[this]
Классы определений
ParIterableLike

implicit def builder2ops[Elem, To](cb: Builder[Elem, To]): BuilderOps[Elem, To]

Атрибуты
protected
Классы определений
ParIterableLike

def canEqual(other: Any): Boolean

Классы определений
ParIterableLike

def clone(): AnyRef

Создайте копию объекта получателя.

Реализация метода clone по умолчанию зависит от платформы.

returns

копия объекта получателя.

Атрибуты
protected[lang]
Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()
Примечание

не указано SLS в качестве члена AnyRef

def collect[B](pf: PartialFunction[A, B]): ParIterable[B]

[use case]

Создает новую коллекцию, применяя частичную функцию ко всем элементам этого параллельного итерируемого объекта, для которых функция определена.

B

тип элемента возвращаемой коллекции.

pf

частичная функция, которая фильтрует и отображает параллельный итерируемый объект.

returns

новая параллельная итерируемая коллекция, полученная в результате применения заданной частичной функции pf к каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.

Определяющие классы
ParIterableLike → GenTraversableLike
Полная сигнатура

def combinerFactory[S, That](cbf: () ⇒ Combiner[S, That]): CombinerFactory[S, That]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

def combinerFactory: CombinerFactory[T, ParIterable[T]]

Создает фабрику комбинирователей. Каждый экземпляр фабрики комбинирователей используется один раз за вызов метода параллельного преобразования для одной коллекции.

По умолчанию фабрика комбинирователей создает новый комбинирователь каждый раз, когда она запрашивается, если только комбинирователь не является потокобезопасным, как указано его методом canBeShared. В этом случае метод возвращает фабрику, которая каждый раз возвращает один и тот же комбинирователь. Это обычно делается для параллельных коллекций с конкурентным доступом, комбинирователи которых позволяют безопасный доступ из нескольких потоков.

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

def companion: GenericCompanion[ParIterable] with GenericParCompanion[ParIterable]

Фабрика-компаньон, создающая экземпляры класса ParIterable. (или его Iterable суперкласса, если класс ParIterable не является Seq.)

Определяющие классы
ParIterable → ParIterable → GenericParTemplate → GenIterable → GenTraversable → GenericTraversableTemplate

def copyToArray(xs: Array[A], start: Int, len: Int): Unit

[use case]

Копирует элементы этого параллельного итерируемого объекта в массив. Заполняет данный массив xs не более чем len элементами этого параллельного итерируемого объекта, начиная с позиции start. Копирование прекращается, как только достигается конец текущего параллельного итерируемого объекта, или конец целевого массива, или len элементов были скопированы.

Примечание: не будет завершаться для коллекций бесконечного размера.

xs

массив для заполнения.

start

индекс начала.

len

максимальное количество копируемых элементов.

Определяющие классы
ParIterableLike → GenTraversableOnce
Полная сигнатура

def copyToArray(xs: Array[A], start: Int): Unit

[use case]

Копирует элементы этого параллельного итерируемого объекта в массив. Заполняет данный массив xs значениями этого параллельного итерируемого объекта, начиная с индекса start. Копирование прекращается, как только достигается конец текущего параллельного итерируемого объекта или конец целевого массива.

Примечание: не будет завершаться для коллекций бесконечного размера.

xs

массив для заполнения.

start

индекс начала.

Определяющие классы
ParIterableLike → GenTraversableOnce
Полная сигнатура

def copyToArray(xs: Array[A]): Unit

[use case]

Копирует элементы этого параллельного итерируемого объекта в массив. Заполняет заданный массив xs значениями этого параллельного итерируемого объекта. Копирование остановится, как только будет достигнут конец текущего параллельного итерируемого объекта или конец целевого массива.

Примечание: не будет завершаться для коллекций бесконечного размера.

xs

массив для заполнения.

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура

def count(p: (T) ⇒ Boolean): Int

Подсчитывает количество элементов в параллельном итерируемом объекте, удовлетворяющих предикату.

p

предикат, используемый для проверки элементов.

returns

количество элементов, удовлетворяющих предикату p.

Definition Classes
ParIterableLike → GenTraversableOnce

def debugBuffer: ArrayBuffer[String]

Definition Classes
ParIterableLike

implicit def delegatedSignalling2ops[PI <: DelegatedSignalling](it: PI): SignallingOps[PI]

Attributes
protected
Definition Classes
ParIterableLike

def drop(n: Int): ParIterable[T]

Выбирает все элементы, кроме первых n.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

n

количество элементов, которые нужно удалить из этого параллельного итерируемого объекта.

returns

параллельный итерируемый объект, состоящий из всех элементов этого параллельного итерируемого объекта, кроме первых n элементов, или пустой параллельный итерируемый объект, если этот параллельный итерируемый объект содержит меньше n элементов. Если n отрицательное, то элементы не удаляются.

Definition Classes
ParIterableLike → GenTraversableLike

def dropWhile(pred: (T) ⇒ Boolean): ParIterable[T]

Удаляет все элементы в самом длинном префиксе элементов, удовлетворяющих предикату, и возвращает коллекцию, составленную из оставшихся элементов.

Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделы могут устанавливать и считывать indexFlag состояние. Флаг индекса изначально установлен на максимальное целое число.

pred

предикат, используемый для проверки элементов

returns

коллекция, составленная из всех элементов после самого длинного префикса элементов в этом параллельном итерируемом объекте, удовлетворяющих предикату pred

Definition Classes
ParIterableLike → GenTraversableLike

def ensuring(cond: (ParIterable[T]) ⇒ Boolean, msg: ⇒ Any): ParIterable[T]

Implicit
Этот член добавлен неявным преобразованием из ParIterable[T] в Ensuring[ParIterable[T]] при помощи метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (ParIterable[T]) ⇒ Boolean): ParIterable[T]

Implicit
Этот член добавлен неявным преобразованием из ParIterable[T] в Ensuring[ParIterable[T]] при помощи метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): ParIterable[T]

Неявный
Этот член добавлен неявным преобразованием из ParIterable[T] в Ensuring[ParIterable[T]] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean): ParIterable[T]

Неявный
Этот член добавлен неявным преобразованием из ParIterable[T] в Ensuring[ParIterable[T]] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и обладает тремя дополнительными свойствами:

    Он является согласованным: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить, чтобы их поведение соответствовало равенству ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковое значение хэша (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Классы определений
AnyRef

def equals(arg0: Any): Boolean

Метод равенства для ссылочных типов. По умолчанию делегирует вызов eq.

См. также equals в scala.Any.

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Классы определений
AnyRef → Any

def exists(p: (T) ⇒ Boolean): Boolean

Проверяет, выполняется ли предикат для некоторого элемента этого параллельного итерируемого объекта.

Этот метод будет использовать возможности abort сигнализации. Это означает, что разделы могут отправлять и читать сигналы abort.

p

предикат, используемый для проверки элементов

возвращает

true, если p выполняется для некоторого элемента, иначе false

Классы определений
ParIterableLike → GenTraversableOnce

def filter(pred: (T) ⇒ Boolean): ParIterable[T]

Выбирает все элементы этого параллельного итерируемого объекта, которые удовлетворяют предикату.

pred

предикат, используемый для проверки элементов.

возвращает

новый параллельный итерируемый объект, состоящий из всех элементов этого параллельного итерируемого объекта, которые удовлетворяют заданному предикату p. Их порядок может не сохраняться.

Классы определений
ParIterableLike → GenTraversableLike

def filterNot(pred: (T) ⇒ Boolean): ParIterable[T]

Выбирает все элементы этого параллельного итерируемого объекта, которые не удовлетворяют предикату.

pred

предикат, используемый для проверки элементов.

возвращает

новый параллельный итерируемый объект, состоящий из всех элементов этого параллельного итерируемого объекта, которые не удовлетворяют заданному предикату p. Их порядок может не сохраняться.

Классы определений
ParIterableLike → GenTraversableLike

def finalize(): Unit

Вызывается сборщиком мусора на объекте-получателе, когда больше нет ссылок на объект.

Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[lang]
Классы определений
AnyRef
Аннотации
@throws( classOf[java.lang.Throwable] )
Примечание

не указано в SLS в качестве члена AnyRef

def find(p: (T) ⇒ Boolean): Option[T]

Находит элемент в коллекции, для которого выполняется предикат, если такой элемент существует. Элемент необязательно должен быть первым в порядке итерации.

Если существует несколько элементов, удовлетворяющих предикату, выбор не детерминирован.

Этот метод будет использовать abort возможности сигнализации. Это означает, что разделители могут отправлять и читать abort сигналы.

p

предикат, используемый для проверки элементов

returns

значение Option с элементом, если такой элемент существует, или None в противном случае

Definition Classes
ParIterableLike → GenTraversableOnce

def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): ParIterable[B]

[use case]

Строит новую коллекцию, применяя функцию ко всем элементам этой параллельной итерации и используя элементы полученных коллекций.

Например:

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 => 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)
B

тип элементов возвращаемой коллекции.

f

функция, которая применяется к каждому элементу.

returns

новая параллельная итерируемая коллекция, полученная путем применения заданной функции, принимающей коллекцию f к каждому элементу этой параллельной итерации и конкатенации результатов.

Definition Classes
ParIterableLike → GenTraversableLike
Полная сигнатура

def flatten[B]: ParIterable[B]

[use case]

Преобразует эту параллельную итерируемую коллекцию из коллекций Traversable в параллельную итерируемую коллекцию, образованную элементами этих коллекций Traversable.

Тип результирующей коллекции будет определяться статическим типом параллельной итерируемой коллекции. Например:

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)
B

тип элементов каждой коллекции Traversable.

returns

новая параллельная итерируемая коллекция, полученная путем конкатенации всех параллельных итерируемых элементов.

Definition Classes
GenericTraversableTemplate
Полная сигнатура

def fold[U >: T](z: U)(op: (U, U) ⇒ U): U

Складывает элементы этого последовательного объекта, используя указанный ассоциативный бинарный оператор. Порядок, в котором элементы сводятся, не определён и может быть недетерминированным.

Обратите внимание, что этот метод имеет другую сигнатуру, чем методы foldLeft и foldRight трактата Traversable. Результатом сворачивания может быть только супертип параметра типа этой параллельной коллекции T.

U

параметр типа для бинарного оператора, супертип T.

z

нейтральный элемент для операции fold, его можно добавлять к результату произвольное количество раз, не изменяя результат (например, Nil для конкатенации списков, 0 для сложения или 1 для умножения)

op

бинарный оператор, который должен быть ассоциативным

returns

результат применения оператора fold op между всеми элементами и z

Definition Classes
ParIterableLike → GenTraversableOnce

def foldLeft[S](z: S)(op: (S, T) ⇒ S): S

Применяет бинарный оператор к начальному значению и всем элементам этой параллельной итерации, слева направо.

Примечание: не завершит работу для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор ассоциативен и коммутативен.

z

начальное значение.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этой параллельной итерируемой коллекции, слева направо, с начальным значением z слева:

op(...op(z, x_1), x_2, ..., x_n)

где x1, ..., xn являются элементами этой параллельной итерируемой коллекции. Возвращает z , если эта параллельная итерируемая коллекция пуста.

Definition Classes
ParIterableLike → GenTraversableOnce

def foldRight[S](z: S)(op: (T, S) ⇒ S): S

Применяет бинарный оператор ко всем элементам этой параллельной итерируемой коллекции и начальному значению, справа налево.

Примечание: не завершит работу для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор ассоциативен и коммутативен.

z

начальное значение.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этой параллельной итерируемой коллекции, справа налево, с начальным значением z справа:

op(x_1, op(x_2, ... op(x_n, z)...))

где x1, ..., xn являются элементами этой параллельной итерируемой коллекции. Возвращает z , если эта параллельная итерируемая коллекция пуста.

Definition Classes
ParIterableLike → GenTraversableOnce

def forall(p: (T) ⇒ Boolean): Boolean

Проверяет, выполняется ли предикат для всех элементов этого параллельного итерируемого объекта.

Этот метод будет использовать возможности abort сигнализации. Это означает, что разделители могут отправлять и читать abort сигналы.

p

предикат, используемый для проверки элементов

returns

true, если p выполняется для всех элементов, в противном случае false

Definition Classes
ParIterableLike → GenTraversableOnce

def foreach[U](f: (T) ⇒ U): Unit

Применяет функцию f ко всем элементам параллельного итерируемого объекта в неопределённом порядке.

U

тип результата функции, применяемой к каждому элементу, который всегда отбрасывается

f

функция, применяемая к каждому элементу

Definition Classes
ParIterableLike → GenTraversableLike → GenTraversableOnce

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной format строкой. Форматные строки аналогичны String.format (@см. java.lang.String.format).

Implicit
Этот член добавляется неявным преобразованием из ParIterable[T] в StringFormat[ParIterable[T]] с помощью метода StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

def genericBuilder[B]: Combiner[B, ParIterable[B]]

Общий билдер, который строит экземпляры Traversable для произвольных типов элементов.

Definition Classes
GenericParTemplate → GenericTraversableTemplate

def genericCombiner[B]: Combiner[B, ParIterable[B]]

Definition Classes
GenericParTemplate

final def getClass(): Class[_]

Возвращает представление класса объекта во время выполнения.

returns

объект класса, соответствующий типу получателя во время выполнения.

Definition Classes
AnyRef → Any
Annotations
@native()

def groupBy[K](f: (T) ⇒ K): ParMap[K, ParIterable[T]]

Разбивает этот параллельный итерируемый объект на карту параллельных итерируемых объектов в соответствии с некоторой функцией-дискриминатором.

Примечание: этот метод не переопределяется представлениями. Это означает, что при применении к представлению он всегда принудительно преобразует представление и возвращает новый параллельный итерируемый объект.

K

тип ключей, возвращаемых функцией-дискриминатором.

f

функция-дискриминатор.

returns

Карта из ключей в параллельные итерируемые объекты, удовлетворяющая следующему инварианту:

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть каждый ключ k сопоставлен с параллельным итерируемым объектом тех элементов x, для которых f(x) равно k.

Definition Classes
ParIterableLike → GenTraversableLike

def hasDefiniteSize: Boolean

Проверяет, известен ли размер этого параллельного итерируемого объекта как конечный. Все строгие коллекции известны как имеющие конечный размер. Для нестрогой коллекции, такой как Stream, предикат возвращает true, если все элементы были вычислены. Он возвращает false, если поток ещё не был проанализирован до конца. Непустые итераторы обычно возвращают false даже если они были созданы из коллекции с известным конечным размером.

Примечание: многие методы коллекции не будут работать с коллекциями бесконечных размеров. Типичная ошибка — бесконечный цикл. Эти методы всегда пытаются выполнить обход, не проверяя предварительно, что hasDefiniteSize возвращает true. Однако проверка hasDefiniteSize может гарантировать, что размер определён и бесконечная итерация не является проблемой.

returns

true если эта коллекция известна как конечного размера, false в противном случае.

Definition Classes
ParIterableLike → GenTraversableOnce

def hashCode(): Int

Метод hashCode для типов ссылок. См. hashCode в scala.Any.

returns

значение хэш-кода для этого объекта.

Definition Classes
AnyRef → Any
Annotations
@native()

def head: T

Выбирает первый элемент этого параллельного итерируемого объекта.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

returns

первый элемент этого параллельного итерируемого объекта.

Definition Classes
ParIterableLike → GenTraversableLike
Exceptions thrown

NoSuchElementException, если параллельный итерируемый объект пуст.

def headOption: Option[T]

Возвращает первый элемент, если он есть.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

returns

первый элемент этого параллельного итерируемого объекта, если он не пуст, None в противном случае.

Definition Classes
ParIterableLike → GenTraversableLike

def init: ParIterable[T]

Выбирает все элементы, кроме последнего.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

returns

параллельный итерируемый объект, содержащий все элементы этого параллельного итерируемого объекта, кроме последнего.

Definition Classes
ParIterableLike → GenTraversableLike
Exceptions thrown

UnsupportedOperationException если параллельный итерируемый объект пуст.

def initTaskSupport(): Unit

Attributes
protected
Definition Classes
ParIterableLike

def isEmpty: Boolean

Проверяет, пуст ли параллельный итерируемый объект.

Примечание: Реализации в подклассах, которые не являются многократно итерируемыми, должны позаботиться о том, чтобы не потреблять элементы, когда isEmpty вызывается.

returns

true если параллельный итерируемый объект не содержит элементов, false в противном случае.

Definition Classes
ParIterableLike → GenTraversableOnce

final def isInstanceOf[T0]: Boolean

Проверяет, является ли динамический тип объекта-получателя T0.

Обратите внимание, что результат проверки зависит от стирания типов в Scala. Следовательно, выражение 1.isInstanceOf[String] вернет false, а выражение List(1).isInstanceOf[List[String]] вернет true. В последнем примере, потому что аргумент типа стирается во время компиляции, невозможно проверить, содержатся ли элементы списка указанного типа.

returns

true если объект-получатель является экземпляром стиранного типа T0; false в противном случае.

Definition Classes
Any

def isStrictSplitterCollection: Boolean

Указывает, имеет ли эта параллельная коллекция строгие разделители.

Это справедливо в общем случае, и конкретные экземпляры коллекций могут переопределять этот метод. Такие коллекции не смогут выполнить методы, которые полагаются на то, что разделители являются строгими, т. е. возвращают правильное значение в методе remaining.

Этот метод помогает гарантировать, что такие ошибки возникают при вызове методов, а не позже и непредсказуемым образом.

Definition Classes
ParIterableLike

final def isTraversableAgain: Boolean

Проверяет, может ли этот параллельный итерируемый объект быть повторно пройден.

returns

true

Definition Classes
ParIterableLike → GenTraversableLike → GenTraversableOnce

def iterator: Splitter[T]

Создает новый итератор разбиения, используемый для обхода элементов этой коллекции.

По умолчанию этот метод реализован с использованием защищенного метода splitter.

returns

итератор разбиения

Definition Classes
ParIterableLike → GenIterableLike

def last: T

Выбирает последний элемент.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

returns

Последний элемент этого параллельного итерируемого объекта.

Definition Classes
ParIterableLike → GenTraversableLike
Exceptions thrown

NoSuchElementException Если параллельный итерируемый объект пуст.

def lastOption: Option[T]

Возвращает последний элемент, если он есть.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

returns

последний элемент этого параллельного итерируемого объекта, если он не пуст, None в противном случае.

Definition Classes
ParIterableLike → GenTraversableLike

def map[B](f: (A) ⇒ B): ParIterable[B]

[use case]

Создаёт новую коллекцию, применяя функцию ко всем элементам этого параллельного итерируемого объекта.

B

тип элементов возвращаемой коллекции.

f

функция, применяемая к каждому элементу.

returns

новый параллельный итерируемый объект, полученный путём применения заданной функции f к каждому элементу этого параллельного итерируемого объекта и сбора результатов.

Definition Classes
ParIterableLike → GenTraversableLike
Полная подпись

def max: A

[use case]

Находит наибольший элемент.

returns

наибольший элемент этого параллельного итерируемого объекта.

Definition Classes
ParIterableLike → GenTraversableOnce
Полная подпись
Exceptions thrown

UnsupportedOperationException если этот параллельный итерируемый объект пуст.

def maxBy[B](f: (A) ⇒ B): A

[use case]

Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.

B

Тип результата функции f.

f

Функция измерения.

returns

первый элемент этого параллельного итерируемого объекта с наибольшим значением, измеренным функцией f.

Definition Classes
ParIterableLike → GenTraversableOnce
Полная подпись
Exceptions thrown

UnsupportedOperationException если этот параллельный итерируемый объект пуст.

def min: A

[use case]

Находит наименьший элемент.

returns

наименьший элемент этого параллельного итерируемого объекта

Definition Classes
ParIterableLike → GenTraversableOnce
Полная подпись
Exceptions thrown

UnsupportedOperationException если этот параллельный итерируемый объект пуст.

def minBy[B](f: (A) ⇒ B): A

[use case]

Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.

B

Тип результата функции f.

f

Функция измерения.

returns

первый элемент этого параллельного итерируемого объекта с наименьшим значением, измеренным функцией f.

Definition Classes
ParIterableLike → GenTraversableOnce
Полная подпись
Exceptions thrown

UnsupportedOperationException если этот параллельный итерируемый объект пуст.

def mkString: String

Отображает все элементы этого параллельного итерируемого объекта в строке.

returns

строковое представление этого параллельного итерируемого объекта. В результирующей строке строковые представления (с учётом метода toString) всех элементов этого параллельного итерируемого объекта следуют друг за другом без каких-либо разделителей строк.

Definition Classes
ParIterableLike → GenTraversableOnce

def mkString(sep: String): String

Отображает все элементы этого параллельного итерируемого объекта в строке с использованием разделительной строки.

sep

разделительная строка.

returns

строковое представление этого параллельного итерируемого объекта. В результирующей строке строковые представления (с учётом метода toString) всех элементов этого параллельного итерируемого объекта разделены строкой sep.

Definition Classes
ParIterableLike → GenTraversableOnce
Пример:

    List(1, 2, 3).mkString("|") = "1|2|3"

def mkString(start: String, sep: String, end: String): String

Отображает все элементы этого параллельного итерируемого объекта в строке с использованием начальной, конечной и разделительной строк.

start

начальная строка.

sep

разделительная строка.

end

конечная строка.

returns

строковое представление этого параллельного итерируемого объекта. Результирующая строка начинается со строки start и заканчивается строкой end. Внутри строковые представления (с учётом метода toString) всех элементов этого параллельного итерируемого объекта разделены строкой sep.

Definition Classes
ParIterableLike → GenTraversableOnce
Пример:

    List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Definition Classes
AnyRef

def newBuilder: Builder[T, ParIterable[T]]

Построитель, создающий экземпляры типа Traversable[A]

Attributes
protected[this]
Definition Classes
GenericParTemplate → GenericTraversableTemplate → HasNewBuilder

def newCombiner: Combiner[T, ParIterable[T]]

Attributes
protected[this]
Definition Classes
GenericParTemplate → HasNewCombiner

def nonEmpty: Boolean

Проверяет, не является ли параллельное множество пустым.

returns

true если параллельное множество содержит хотя бы один элемент, false в противном случае.

Definition Classes
ParIterableLike → GenTraversableOnce

final def notify(): Unit

Разбуживает один поток, ожидающий монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

не определено в SLS как член AnyRef

final def notifyAll(): Unit

Разбуживает все потоки, ожидающие монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

не определено в SLS как член AnyRef

def par: ParIterable[T]

Возвращает параллельную реализацию этого набора.

Для большинства типов коллекций этот метод создает новую параллельную коллекцию, копируя все элементы. Для таких коллекций par занимает линейное время. Изменяемые коллекции в этой категории не производят изменяемую параллельную коллекцию, которая имеет тот же базовый набор данных, поэтому изменения в одной коллекции не будут отражены в другой.

У определенных коллекций (например, ParArray или mutable.ParHashMap) переопределяется это поведение по умолчанию путем создания параллельной коллекции, которая использует те же базовые данные. Для таких коллекций par занимает постоянное или подлинейное время.

Все параллельные коллекции возвращают ссылку на себя.

returns

параллельную реализацию этого набора

Definition Classes
ParIterableLike → CustomParallelizable → Parallelizable

def parCombiner: Combiner[T, ParIterable[T]]

Реализация par по умолчанию использует комбинирователь, предоставленный этим методом, для создания новой параллельной коллекции.

returns

комбинирователь для параллельной коллекции типа ParRepr

Attributes
protected[this]
Definition Classes
CustomParallelizable → Parallelizable

def partition(pred: (T) ⇒ Boolean): (ParIterable[T], ParIterable[T])

Разделяет это параллельное множество на две параллельные коллекции в соответствии с предикатом.

pred

предикат, по которому происходит разделение.

returns

пара пар параллельных множеств: первое параллельное множество содержит все элементы, которые удовлетворяют предикату p, а второе — все элементы, которые не удовлетворяют. Относительный порядок элементов в получившихся параллельных множествах может не сохраняться.

Definition Classes
ParIterableLike → GenTraversableLike

def product: A

[use case]

Умножает элементы этого набора.

returns

произведение всех элементов в этом параллельном множестве чисел типа Int. Вместо Int, можно использовать любой другой тип T с неявной реализацией Numeric[T] как типа элементов параллельного множества и типа результата product. Примерами таких типов являются: Long, Float, Double, BigInt.

Definition Classes
ParIterableLike → GenTraversableOnce
Полная подпись

def reduce[U >: T](op: (U, U) ⇒ U): U

Сводит элементы этого последовательного массива с помощью указанного ассоциативного бинарного оператора.

Порядок выполнения операций над элементами не определён и может быть не детерминированным.

Обратите внимание, что у этого метода другой синтаксис, чем у методов reduceLeft и reduceRight трейта Traversable. Результатом сводки может быть только супертип параметра типа этого параллельного набора T.

U

Параметр типа для бинарного оператора, являющийся супертипом T.

op

Бинарный оператор, который должен быть ассоциативным.

returns

Результат применения оператора сводки op между всеми элементами, если коллекция не пуста.

Definition Classes
ParIterableLike → GenTraversableOnce
Exceptions thrown

UnsupportedOperationException, если этот параллельный итерируемый объект пуст.

def reduceLeft[U >: T](op: (U, T) ⇒ U): U

Definition Classes
ParIterableLike

def reduceLeftOption[U >: T](op: (U, T) ⇒ U): Option[U]

Применяет бинарный оператор ко всем элементам этого параллельного итерируемого объекта слева направо.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен. или оператор ассоциативен и коммутативен.

op

бинарный оператор.

returns

значение Option, содержащее результат reduceLeft(op), если этот параллельный итерируемый объект не пустой, None в противном случае.

Definition Classes
ParIterableLike → GenTraversableOnce

def reduceOption[U >: T](op: (U, U) ⇒ U): Option[U]

Необязательно сводит элементы этой последовательности с использованием указанного ассоциативного бинарного оператора.

Порядок выполнения операций над элементами не определён и может быть не детерминированным.

Обратите внимание, что у этого метода другой синтаксис, чем у методов reduceLeftOption и reduceRightOption трейта Traversable. Результатом сводки может быть только супертип параметра типа этого параллельного набора T.

U

Параметр типа для бинарного оператора, являющийся супертипом T.

op

Бинарный оператор, который должен быть ассоциативным.

returns

Значение Option, содержащее результат применения оператора сводки op между всеми элементами, если коллекция не пустая, и None в противном случае.

Definition Classes
ParIterableLike → GenTraversableOnce

def reduceRight[U >: T](op: (T, U) ⇒ U): U

Применяет бинарный оператор ко всем элементам этого параллельного итерируемого объекта справа налево.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен. или оператор ассоциативен и коммутативен.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этого параллельного итерируемого объекта справа налево:

op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))

где x1, ..., xn — элементы этого параллельного итерируемого объекта.

Definition Classes
ParIterableLike → GenTraversableOnce
Exceptions thrown

UnsupportedOperationException, если этот параллельный итерируемый объект пуст.

def reduceRightOption[U >: T](op: (T, U) ⇒ U): Option[U]

Необязательно применяет бинарный оператор ко всем элементам этого параллельного итерируемого объекта справа налево.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен. или оператор ассоциативен и коммутативен.

op

бинарный оператор.

returns

значение Option, содержащее результат reduceRight(op), если этот параллельный итерируемый объект не пустой, None в противном случае.

Definition Classes
ParIterableLike → GenTraversableOnce

def repr: ParIterable[T]

Определяющие классы
ParIterableLike → GenTraversableLike

def reuse[S, That](oldc: Option[Combiner[S, That]], newc: Combiner[S, That]): Combiner[S, That]

При необходимости использует существующий комбинировщик для повышения производительности. По умолчанию он этого не делает — подклассы могут переопределить это поведение. Предоставленный комбинировщик oldc , который потенциально может быть повторно использован, будет либо некоторым комбинировщиком из предыдущей вычислительной задачи, либо None, если предыдущей фазы не было (в этом случае этот метод должен вернуть newc).

oldc

Комбинировщик, являющийся результатом предыдущей задачи, или None, если предыдущей задачи не было.

newc

Новый, пустой комбинировщик, который можно использовать.

возвращает

Либо newc, либо oldc.

Атрибуты
protected
Определяющие классы
ParIterableLike

def sameElements(that: GenIterable[A]): Boolean

[служебный случай]

Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и этот параллельный итерируемый объект.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.

Примечание: не будет завершаться для коллекций бесконечного размера.

that

коллекция для сравнения.

возвращает

true, если обе коллекции содержат одни и те же элементы в том же порядке, false в противном случае.

Определяющие классы
ParIterableLike → GenIterableLike
Полная сигнатура

def scan(z: T)(op: (T, T) ⇒ T): ParIterable[T]

[служебный случай]

Вычисляет префиксный сканирование элементов коллекции.

Примечание: нейтральный элемент z может применяться более одного раза.

z

нейтральный элемент для оператора op

op

ассоциативный оператор для сканирования

возвращает

новая параллельная итерируемая коллекция, содержащая префиксное сканирование элементов в этом параллельном итерируемом объекте

Определяющие классы
ParIterableLike → GenTraversableLike
Полная сигнатура

def scanBlockSize: Int

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

def scanLeft[S, That](z: S)(op: (S, T) ⇒ S)(implicit bf: CanBuildFrom[ParIterable[T], S, That]): That

Создаёт коллекцию, содержащую кумулятивные результаты применения оператора слева направо.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.

That

фактический тип результирующей коллекции

z

начальное значение

op

бинарный оператор, применяемый к промежуточному результату и элементу

bf

явное значение класса CanBuildFrom, которое определяет класс результата That из текущего типа представления Repr и нового типа элементов B.

возвращает

коллекция с промежуточными результатами

Определяющие классы
ParIterableLike → GenTraversableLike

def scanRight[S, That](z: S)(op: (T, S) ⇒ S)(implicit bf: CanBuildFrom[ParIterable[T], S, That]): That

Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. В начале коллекции находится последний кумулятивный результат.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
That

фактический тип результирующей коллекции

z

начальное значение

op

бинарный оператор, применяемый к промежуточному результату и элементу

bf

неявное значение класса CanBuildFrom, которое определяет тип результата That по текущему типу представления Repr и новому типу элемента B.

возвращает

коллекция с промежуточными результатами

Классы-определения
ParIterableLike → GenTraversableLike

def sequentially[S, That <: Parallel](b: (immutable.Iterable[T]) ⇒ Parallelizable[S, That]): ParIterable[T]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

def sizeHintIfCheap: Int

Размер этой коллекции или итератора, если он может быть вычислен без больших затрат

возвращает

количество элементов в этой коллекции или итераторе, или -1, если размер нельзя определить без больших затрат

Атрибуты
protected[collection]
Классы-определения
GenTraversableOnce

def slice(unc_from: Int, unc_until: Int): ParIterable[T]

Выбирает интервал элементов. Полученная коллекция состоит из всех элементов x, которые удовлетворяют условию:

from <= indexOf(x) < until

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

unc_from

наименьший индекс для включения из этого параллельного итератора.

unc_until

наименьший индекс для ИСКЛЮЧЕНИЯ из этого параллельного итератора.

возвращает

параллельный итератор, содержащий элементы, большие или равные индексу from, и до (но не включая) индекс until этого параллельного итератора.

Классы-определения
ParIterableLike → GenTraversableLike

def span(pred: (T) ⇒ Boolean): (ParIterable[T], ParIterable[T])

Разделяет этот параллельный итератор на пару префикс/суффикс в соответствии с предикатом.

Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделители могут устанавливать и считывать состояние indexFlag. Флаг индекса изначально устанавливается в максимальное целое значение.

pred

предикат, используемый для проверки элементов

возвращает

пара, состоящая из самого длинного префикса коллекции, для которого все элементы удовлетворяют pred, и остальная часть коллекции

Классы-определения
ParIterableLike → GenTraversableLike

def splitAt(n: Int): (ParIterable[T], ParIterable[T])

Разделяет этот параллельный итератор на две части по заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

n

позиция, по которой нужно разделить.

возвращает

пара параллельных итераторов, состоящая из первых n элементов этого параллельного итератора и других элементов.

Классы-определения
ParIterableLike → GenTraversableLike

def stringPrefix: String

Определяет префикс представления этого объекта.

возвращает

строковое представление, которое начинается с результата toString, применённого к этому параллельному итератору. По умолчанию префикс строки — простое имя класса коллекции параллельного итератора.

Классы-определения
ParIterable → GenTraversableLike

def sum: A

[use case]

Суммирует элементы этой коллекции.

возвращает

сумма всех элементов в этом параллельном итераторе чисел типа Int. Вместо Int, может быть использован любой другой тип T с неявным Numeric[T] реализацией, как тип элемента параллельного итератора и как тип результата sum. Примеры таких типов: Long, Float, Double, BigInt.

Классы-определения
ParIterableLike → GenTraversableOnce
Полная Подпись

final def synchronized[T0](arg0: ⇒ T0): T0

Определяющие классы
AnyRef

def tail: ParIterable[T]

Выбирает все элементы, кроме первого.

Примечание: могут быть получены разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

возвращает

параллельное множество, состоящее из всех элементов этого параллельного множества, кроме первого.

Определяющие классы
ParIterableLike → GenTraversableLike
Исключения

UnsupportedOperationException, если параллельное множество пусто.

def take(n: Int): ParIterable[T]

Выбирает первые n элементов.

Примечание: могут быть получены разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

n

число элементов для извлечения из этого параллельного множества.

возвращает

параллельное множество, содержащее только первые n элементов этого параллельного множества, или всё параллельное множество, если оно содержит меньше n элементов. Если n отрицательно, возвращает пустое параллельное множество.

Определяющие классы
ParIterableLike → GenTraversableLike

def takeWhile(pred: (T) ⇒ Boolean): ParIterable[T]

Извлекает самую длинную префиксную последовательность элементов, удовлетворяющих предикату.

Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделители могут устанавливать и считывать indexFlag состояние. Флаг индекса изначально устанавливается в максимальное целочисленное значение.

pred

предикат, используемый для проверки элементов

возвращает

самый длинный префикс этого параллельного множества элементов, удовлетворяющих предикату pred

Определяющие классы
ParIterableLike → GenTraversableLike

implicit def task2ops[R, Tp](tsk: SSCTask[R, Tp]): TaskOps[R, Tp]

Атрибуты
protected
Определяющие классы
ParIterableLike

def tasksupport: TaskSupport

Объект поддержки задач, отвечающий за планирование и распределение задач по процессорам.

Определяющие классы
ParIterableLike
См. также

scala.collection.parallel.TaskSupport

def tasksupport_=(ts: TaskSupport): Unit

Изменяет объект поддержки задач, который отвечает за планирование и распределение задач по процессорам.

Объект поддержки задач может быть изменен в параллельной коллекции после ее создания, но только в течение спокойного периода, то есть при отсутствии одновременных вызовов методов параллельной коллекции.

Вот способ изменения поддержки задач параллельной коллекции:

import scala.collection.parallel._
val pc = mutable.ParArray(1, 2, 3)
pc.tasksupport = new ForkJoinTaskSupport(
  new java.util.concurrent.ForkJoinPool(2))
Определяющие классы
ParIterableLike
См. также

scala.collection.parallel.TaskSupport

def to[Col[_]]: Col[A]

[Пример использования]

Преобразует это параллельное множество в другое, копируя все элементы.

Примечание: не завершится для коллекций бесконечного размера.

Col

Тип коллекции для создания.

возвращает

новая коллекция, содержащая все элементы этого параллельного множества.

Определяющие классы
ParIterableLike → GenTraversableOnce
Полная сигнатура

def toArray: Array[A]

[Пример использования]

Преобразует это параллельное множество в массив.

Примечание: не завершится для коллекций бесконечного размера.

возвращает

массив, содержащий все элементы этого параллельного множества. Должен быть доступен ClassTag для типа элементов этого параллельного множества.

Определяющие классы
ParIterableLike → GenTraversableOnce
Полная сигнатура

def toBuffer[U >: T]: Buffer[U]

Использует содержимое этого параллельного множества для создания нового изменяемого буфера.

Примечание: не завершится для коллекций бесконечного размера.

возвращает

буфер, содержащий все элементы этого параллельного множества.

Определяющие классы
ParIterableLike → GenTraversableOnce

def toIndexedSeq: immutable.IndexedSeq[T]

Преобразует это параллельное итерируемое множество в индексированную последовательность.

Примечание: не будет завершаться для коллекций бесконечного размера.

returns

индексированная последовательность, содержащая все элементы этого параллельного итерируемого множества.

Definition Classes
ParIterableLike → GenTraversableOnce

def toIterable: ParIterable[T]

Преобразует это параллельное итерируемое множество в итерируемую коллекцию. Обратите внимание, что выбор целевого Iterable является ленивым в этом реализуемом по умолчанию, так как этот TraversableOnce может быть ленивым и неопределённым (то есть это может быть итератор, который можно использовать только один раз).

Примечание: не будет завершаться для коллекций бесконечного размера.

returns

коллекцию, содержащую все элементы этого параллельного итерируемого множества.

Definition Classes
ParIterable → ParIterableLike → GenTraversableOnce

def toIterator: scala.Iterator[T]

Возвращает итератор по элементам в этом параллельном итерируемом множестве. Вернёт тот же итератор, если этот экземпляр уже является итератором.

Примечание: не будет завершаться для коллекций бесконечного размера.

returns

итератор, содержащий все элементы этого параллельного итерируемого множества.

Definition Classes
ParIterableLike → GenTraversableOnce

def toList: List[T]

Преобразует это параллельное итерируемое множество в список.

Примечание: не будет завершаться для коллекций бесконечного размера.

returns

список, содержащий все элементы этого параллельного итерируемого множества.

Definition Classes
ParIterableLike → GenTraversableOnce

def toMap[T, U]: collection.Map[T, U]

[use case]

Преобразует это параллельное итерируемое множество в карту. Этот метод недоступен, если элементы не являются членами Tuple2, каждый ((T, U)) становится парой ключ-значение в карте. Дублирующиеся ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, то какой ключ находится в результирующей карте не определено.

Примечание: не будет завершаться для коллекций бесконечного размера.

returns

карта типа immutable.Map[T, U] содержащая все пары ключ/значение типа (T, U) этого параллельного итерируемого множества.

Definition Classes
ParIterableLike → GenTraversableOnce
Полная подпись

def toParArray: ParArray[T]

Неявный
Этот член добавлен неявным преобразованием из ParIterable[T] в CollectionsHaveToParArray[ParIterable[T], T] выполненный методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только если в поле зрения есть неявное значение типа (ParIterable[T]) ⇒ GenTraversableOnce[T].
Definition Classes
CollectionsHaveToParArray

def toParCollection[U >: T, That](cbf: () ⇒ Combiner[U, That]): That

Attributes
protected
Definition Classes
ParIterableLike

def toParMap[K, V, That](cbf: () ⇒ Combiner[(K, V), That])(implicit ev: <:<[T, (K, V)]): That

Attributes
protected
Definition Classes
ParIterableLike

def toSeq: ParSeq[T]

Преобразует это параллельное итерируемое множество в последовательность. Как и toIterable, в этой реализации по умолчанию оно ленивое, так как это TraversableOnce может быть ленивым и не вычисленным.

Примечание: не завершится для коллекций бесконечного размера.

returns

последовательность, содержащая все элементы этого параллельного итерируемого множества.

Definition Classes
ParIterable → ParIterableLike → GenTraversableOnce

def toSet[U >: T]: ParSet[U]

Преобразует это параллельное итерируемое множество в множество.

Примечание: не завершится для коллекций бесконечного размера.

returns

множество, содержащее все элементы этого параллельного итерируемого множества.

Definition Classes
ParIterableLike → GenTraversableOnce

def toStream: Stream[T]

Преобразует это параллельное итерируемое множество в поток.

returns

поток, содержащий все элементы этого параллельного итерируемого множества.

Definition Classes
ParIterableLike → GenTraversableOnce

def toString(): String

Создает строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

returns

строковое представление объекта.

Definition Classes
ParIterableLike → AnyRef → Any

def toTraversable: GenTraversable[T]

Преобразует это параллельное итерируемое множество в неопределяемое итерируемое множество. Вернет ту же коллекцию, если этот экземпляр уже является итерируемым множеством.

Примечание: не завершится для коллекций бесконечного размера.

returns

итерируемое множество, содержащее все элементы этого параллельного итерируемого множества.

Definition Classes
ParIterableLike → GenTraversableOnce

def toVector: Vector[T]

Преобразует это параллельное итерируемое множество в вектор.

Примечание: не завершится для коллекций бесконечного размера.

returns

вектор, содержащий все элементы этого параллельного итерируемого множества.

Definition Classes
ParIterableLike → GenTraversableOnce

def transpose[B](implicit asTraversable: (T) ⇒ GenTraversableOnce[B]): ParIterable[ParIterable[B]]

Транспонирует эту коллекцию итерируемых коллекций в коллекцию коллекций.

Тип результирующей коллекции будет определяться статическим типом коллекции. Например:

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))
B

тип элементов каждой итерируемой коллекции.

asTraversable

явное преобразование, которое утверждает, что тип элемента этой коллекции является Traversable.

returns

двумерная коллекция коллекций, в которой n-я строка является n-м столбцом этой коллекции.

Definition Classes
GenericTraversableTemplate
Annotations
@migration
Migration

(Изменено в версии 2.9.0) transpose вызывает IllegalArgumentException если размеры коллекций не равны.

Исключения

IllegalArgumentException если все коллекции в этой коллекции не имеют одинаковый размер.

def unzip[A1, A2](implicit asPair: (T) ⇒ (A1, A2)): (ParIterable[A1], ParIterable[A2])

Преобразует эту коллекцию пар в две коллекции первой и второй половины каждой пары.

val xs = Traversable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Traversable(1, 2, 3),
//        Traversable(one, two, three))
A1

тип первой половины пар элементов

A2

тип второй половины пар элементов

asPair

явное преобразование, которое утверждает, что тип элемента этой коллекции является парой.

returns

пара коллекций, содержащая первую, соответственно вторую половину каждой пары элементов этой коллекции.

Definition Classes
GenericTraversableTemplate

def unzip3[A1, A2, A3](implicit asTriple: (T) ⇒ (A1, A2, A3)): (ParIterable[A1], ParIterable[A2], ParIterable[A3])

Преобразует это коллекцию троек в три коллекции из первого, второго и третьего элемента каждой тройки.

val xs = Traversable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Traversable(1, 2, 3),
//        Traversable(one, two, three),
//        Traversable(1, 2, 3))
A1

тип первого члена элементов-троек

A2

тип второго члена элементов-троек

A3

тип третьего члена элементов-троек

asTriple

явное преобразование, которое утверждает, что тип элементов этой коллекции — тройка.

returns

тройка коллекций, содержащая первый, второй и соответственно третий член каждой тройки элементов этой коллекции.

Definition Classes
GenericTraversableTemplate

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... ) @native()

def withFilter(pred: (T) ⇒ Boolean): ParIterable[T]

Definition Classes
ParIterableLike

def wrap[R](body: ⇒ R): NonDivisible[R]

Attributes
protected
Definition Classes
ParIterableLike

def zip[B](that: GenIterable[B]): ParIterable[(A, B)]

[use case]

Возвращает параллельную итерабельную коллекцию, образованную из этой параллельной итерабельной коллекции и другой итерабельной коллекции, объединяя соответствующие элементы в пары. Если одна из двух коллекций длиннее другой, ее оставшиеся элементы игнорируются.

Примечание: может вернуть разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.

B

тип второй половины возвращенных пар

that

Итерабельная коллекция, предоставляющая вторую половину каждой результатной пары

returns

новая параллельная итерабельная коллекция, содержащая пары, состоящие из соответствующих элементов этой параллельной итерабельной коллекции и that. Длина возвращаемой коллекции — минимальная из длин этой параллельной итерабельной коллекции и that.

Definition Classes
ParIterableLike → GenIterableLike
Полная подпись

def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): ParIterable[(A, B)]

[use case]

Возвращает параллельный итератор, сформированный из этого параллельного итератора и другой коллекции итераторов, объединяя соответствующие элементы попарно. Если одна из двух коллекций короче другой, элементы-заполнители используются для расширения более короткой коллекции до длины более длинной.

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.

B

тип второй половины возвращаемых пар

that

Итератор, предоставляющий вторую половину каждой пары результата

thisElem

элемент, используемый для заполнения результата, если этот параллельный итератор короче that.

thatElem

элемент, используемый для заполнения результата, если that короче этого параллельного итератора.

returns

новый параллельный итератор, содержащий пары, состоящие из соответствующих элементов этого параллельного итератора и that. Длина возвращаемой коллекции — максимальная из длин этого параллельного итератора и that. Если этот параллельный итератор короче that, значения thisElem используются для дополнения результата. Если that короче этого параллельного итератора, значения thatElem используются для дополнения результата.

Definition Classes
ParIterableLike → GenIterableLike
Полная сигнатура

def zipWithIndex: ParIterable[(A, Int)]

[use case]

Объединяет этот параллельный итератор с его индексами.

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.

returns

Новый параллельный итератор, содержащий пары, состоящие из всех элементов этого параллельного итератора, соединённых с их индексом. Индексы начинаются с 0.

Definition Classes
ParIterableLike → GenIterableLike
Полная сигнатура
Пример:

    List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))

def →[B](y: B): (ParIterable[T], B)

Неявный
Этот член добавлен неявным преобразованием из ParIterable[T] в ArrowAssoc[ParIterable[T]], выполненное методом ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/collection/parallel/immutable/ParIterable.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API