Spec-Zone.ru › Scala 2.12 Library

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

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

трейт ParIterable[T] extends GenIterable[T] with parallel.ParIterable[T] with GenericParTemplate[T, ParIterable] with ParIterableLike[T, ParIterable[T], Iterable[T]] with Mutable

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

Это базовый трейт для параллельных коллекций 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

abstract class SeqComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends Composite[FR, SR, R, First, Second]

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

Attributes
protected[this]
Definition Classes
ParIterableLike

trait SignallingOps[PI <: DelegatedSignalling] extends AnyRef

Definition Classes
ParIterableLike

class Slice[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Slice[U, This]]

Attributes
protected[this]
Definition Classes
ParIterableLike

class Span[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), Span[U, This]]

Attributes
protected[this]
Definition Classes
ParIterableLike

class SplitAt[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), SplitAt[U, This]]

Attributes
protected[this]
Definition Classes
ParIterableLike

trait StrictSplitterCheckTask[R, Tp] extends Task[R, Tp]

Attributes
protected
Definition Classes
ParIterableLike

class Sum[U >: T] extends Accessor[U, Sum[U]]

Attributes
protected[this]
Definition Classes
ParIterableLike

class Take[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Take[U, This]]

Attributes
protected[this]
Definition Classes
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: mutable.Iterable[T]

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

abstract def size: Int

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

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

возвращает

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

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

abstract def splitter: IterableSplitter[T]

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

возвращает

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

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

Члены конкретных значений

final def !=(arg0: Any): Boolean

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

возвращает

true если !(this == that), иначе false.

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

final def ##(): Int

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

возвращает

значение хэша, соответствующее ==

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

def +(other: String): String

Неявный
Этот член добавляется с помощью неявного преобразования из ParIterable[T] в any2stringadd[ParIterable[T]] с помощью метода any2stringadd в scala.Predef.
Определяющие классы
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.

возвращает

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

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

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

Неявный
Этот член добавляется с помощью неявного преобразования из ParIterable[T] в ArrowAssoc[ParIterable[T]] с помощью метода ArrowAssoc в scala.Predef.
Определяющие классы
ArrowAssoc
Аннотации
@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

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

возвращает

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

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

где x1, ..., xn — это элементы этого параллельного множества.

Определяющие классы
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 — элементы этого параллельного итерируемого объекта.

Definition Classes
ParIterableLike → GenTraversableOnce

final def ==(arg0: Any): Boolean

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

returns

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

Definition Classes
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

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

Definition Classes
ParIterableLike → GenTraversableOnce

final def asInstanceOf[T0]: T0

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

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

returns

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

Definition Classes
Any
Exceptions thrown

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

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

Attributes
protected[this]
Definition Classes
ParIterableLike

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

Attributes
protected
Definition Classes
ParIterableLike

def canEqual(other: Any): Boolean

Definition Classes
ParIterableLike

def clone(): AnyRef

Создать копию объекта-приёмника.

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

возвращает

копию объекта-приёмника.

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

не указано SLS как члена AnyRef

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

[случай использования]

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

B

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

pf

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

возвращает

новую параллельную итерируемую коллекцию, полученную путём применения данной частичной функции 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

[случай использования]

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

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

xs

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

start

начальный индекс.

len

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

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

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

[случай использования]

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

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

xs

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

start

начальный индекс.

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

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

[use case]

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

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

xs

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

Классы определений
ParIterableLike → GenTraversableOnce
Полная сигнатура

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

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

p

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

возвращает

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

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

def debugBuffer: ArrayBuffer[String]

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

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

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

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

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

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

n

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

возвращает

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

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

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

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

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

pred

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

возвращает

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

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

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

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

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

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

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

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

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

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

returns

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

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

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

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

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

U

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

z

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

op

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

returns

результат применения оператора сжатия 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 возможности сигнализации. Это означает, что разделители могут отправлять и читать seq сигналы.

p

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

возвращает

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

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

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

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

U

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

f

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

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

def formatted(fmtstr: String): String

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

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

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

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

Классы определений
GenericParTemplate → GenericTraversableTemplate

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

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

final def getClass(): Class[_]

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

возвращает

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

Классы определений
AnyRef → Any
Аннотации
@native()

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

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

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

K

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

f

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

возвращает

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

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

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

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

def hasDefiniteSize: Boolean

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

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

возвращает

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

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

def hashCode(): Int

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

возвращает

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

Классы определений
AnyRef → Any
Аннотации
@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
Полная сигнатура
Исключения

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

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

[use case]

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

B

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

f

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура
Исключения

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

def min: A

[use case]

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура
Исключения

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

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

[use case]

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

B

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

f

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура
Исключения

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

возвращает

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

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

возвращает

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

Definition Classes
ParIterableLike → GenTraversableOnce

final def notify(): Unit

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

Definition Classes
AnyRef
Annotations
@native()
Примечание

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

final def notifyAll(): Unit

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

Definition Classes
AnyRef
Annotations
@native()
Примечание

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

def par: ParIterable[T]

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

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

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

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

возвращает

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

Definition Classes
ParIterableLike → CustomParallelizable → Parallelizable

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

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

возвращает

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

Attributes
protected[this]
Definition Classes
CustomParallelizable → Parallelizable

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

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

pred

предикат для разделения.

возвращает

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

Definition Classes
ParIterableLike → GenTraversableLike

def product: A

[use case]

Умножает элементы этого множества.

возвращает

произведение всех элементов в этом параллельном множестве чисел типа 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

значение опционального типа, содержащее результат 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]

Definition Classes
ParIterableLike → GenTraversableLike

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

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

oldc

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

newc

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

returns

Либо newc или oldc.

Attributes
protected
Definition Classes
ParIterableLike

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

[use case]

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

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

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

that

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

returns

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

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

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

[use case]

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

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

z

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

op

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

returns

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

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

def scanBlockSize: Int

Attributes
protected[this]
Definition Classes
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.

returns

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

Definition Classes
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.

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

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

Attributes
protected[this]
Definition Classes
ParIterableLike

def sizeHintIfCheap: Int

Размер этой коллекции или итератора, если его можно вычислить дёшево.

returns

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

Attributes
protected[collection]
Definition Classes
GenTraversableOnce

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

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

from <= indexOf(x) < until

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

unc_from

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

unc_until

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

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

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

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

pred

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

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

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

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

n

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def stringPrefix: String

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

returns

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

Definition Classes
ParIterable → GenTraversableLike

def sum: A

[use case]

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

returns

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

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

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

Definition Classes
AnyRef

def tail: ParIterable[T]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike
Exceptions thrown

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

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

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

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

n

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

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

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

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

pred

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

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

Attributes
protected
Definition Classes
ParIterableLike

def tasksupport: TaskSupport

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

Definition Classes
ParIterableLike
See also

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))
Definition Classes
ParIterableLike
See also

scala.collection.parallel.TaskSupport

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

[use case]

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

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

Col

Тип коллекции для построения.

returns

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

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

def toArray: Array[A]

[use case]

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

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

returns

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

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

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

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toIndexedSeq: immutable.IndexedSeq[T]

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

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

возвращает

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

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

def toIterable: ParIterable[T]

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

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

возвращает

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

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

def toIterator: scala.Iterator[T]

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

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

возвращает

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

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

def toList: List[T]

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

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

возвращает

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

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

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

[use case]

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

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

возвращает

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

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

def toParArray: ParArray[T]

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

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

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

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

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

def toSeq: ParSeq[T]

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

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

возвращает

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

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

def toSet[U >: T]: immutable.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 если коллекции не имеют одинаковый размер.

Exceptions thrown

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]

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

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

возвращает

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

Определяющие классы
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.
Определяющие классы
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/mutable/ParIterable.html

Spec-Zone.ru

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